cmd/protoc-gen-go: generate _protoopaque variant for hybrid

For golang/protobuf#1657

Change-Id: I3c35fceeddedcd159a5adacec3113e12497ebd27
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/634817
Reviewed-by: Damien Neil <dneil@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/cmd/protoc-gen-go/internal_gengo/main.go b/cmd/protoc-gen-go/internal_gengo/main.go
index e493308..9302b77 100644
--- a/cmd/protoc-gen-go/internal_gengo/main.go
+++ b/cmd/protoc-gen-go/internal_gengo/main.go
@@ -26,6 +26,7 @@
 	"google.golang.org/protobuf/runtime/protoimpl"
 
 	"google.golang.org/protobuf/types/descriptorpb"
+	"google.golang.org/protobuf/types/gofeaturespb"
 	"google.golang.org/protobuf/types/pluginpb"
 )
 
@@ -70,11 +71,41 @@
 	Ident(string) protogen.GoIdent
 }
 
+func setToOpaque(msg *protogen.Message) {
+	msg.APILevel = gofeaturespb.GoFeatures_API_OPAQUE
+	for _, nested := range msg.Messages {
+		nested.APILevel = gofeaturespb.GoFeatures_API_OPAQUE
+		setToOpaque(nested)
+	}
+}
+
 // GenerateFile generates the contents of a .pb.go file.
+//
+// With the Hybrid API, multiple files are generated (_protoopaque.pb.go variant),
+// but only the first file (regular, not a variant) is returned.
 func GenerateFile(gen *protogen.Plugin, file *protogen.File) *protogen.GeneratedFile {
-	filename := file.GeneratedFilenamePrefix + ".pb.go"
-	g := gen.NewGeneratedFile(filename, file.GoImportPath)
+	return generateFiles(gen, file)[0]
+}
+
+func generateFiles(gen *protogen.Plugin, file *protogen.File) []*protogen.GeneratedFile {
 	f := newFileInfo(file)
+	generated := []*protogen.GeneratedFile{
+		generateOneFile(gen, file, f, ""),
+	}
+	if f.APILevel == gofeaturespb.GoFeatures_API_HYBRID {
+		// Update all APILevel fields to OPAQUE
+		f.APILevel = gofeaturespb.GoFeatures_API_OPAQUE
+		for _, msg := range f.Messages {
+			setToOpaque(msg)
+		}
+		generated = append(generated, generateOneFile(gen, file, f, "_protoopaque"))
+	}
+	return generated
+}
+
+func generateOneFile(gen *protogen.Plugin, file *protogen.File, f *fileInfo, variant string) *protogen.GeneratedFile {
+	filename := file.GeneratedFilenamePrefix + variant + ".pb.go"
+	g := gen.NewGeneratedFile(filename, file.GoImportPath)
 
 	var packageDoc protogen.Comments
 	if !gen.InternalStripForEditionsDiff() {
@@ -84,6 +115,11 @@
 
 		packageDoc = genPackageKnownComment(f)
 	}
+	if variant == "_protoopaque" {
+		g.P("//go:build protoopaque")
+	} else if f.APILevel == gofeaturespb.GoFeatures_API_HYBRID {
+		g.P("//go:build !protoopaque")
+	}
 	g.P(packageDoc, "package ", f.GoPackageName)
 	g.P()
 
@@ -190,9 +226,11 @@
 
 	// Generate public imports by generating the imported file, parsing it,
 	// and extracting every symbol that should receive a forwarding declaration.
-	impGen := GenerateFile(gen, impFile)
-	impGen.Skip()
-	b, err := impGen.Content()
+	impGens := generateFiles(gen, impFile)
+	for _, impGen := range impGens {
+		impGen.Skip()
+	}
+	b, err := impGens[0].Content()
 	if err != nil {
 		gen.Error(err)
 		return
diff --git a/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid/test_name_clash_hybrid.pb.go b/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid/test_name_clash_hybrid.pb.go
index b76c9c0..374b7f7 100644
--- a/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid/test_name_clash_hybrid.pb.go
+++ b/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid/test_name_clash_hybrid.pb.go
@@ -24,6 +24,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid.proto
 
+//go:build !protoopaque
+
 package test_name_clash_hybrid
 
 import (
diff --git a/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid/test_name_clash_hybrid_protoopaque.pb.go b/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid/test_name_clash_hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..42bec50
--- /dev/null
+++ b/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid/test_name_clash_hybrid_protoopaque.pb.go
@@ -0,0 +1,3518 @@
+// Copyright 2024 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.
+
+// This proto verifies that we keep the name mangling algorithm (which is
+// position dependent) intact in the protoc_gen_go generator. The field names
+// and the getter names have to be kept intact over time, both in the OPEN and
+// in the HYBRID API. How fields are "mangled" is described in a comment per
+// field.
+
+// The order of "evaluation" of fields is important. Fields are evaluated in
+// order of appearance, except the oneof union names, that are evaluated after
+// their first member. For each field, check if there is a previous field name
+// or getter name that clashes with this field or it's getter. In case there is
+// a clash, add an _ to the field name and repeat. In the case of oneof's, the
+// union will be renamed if it clashes with it's first member, but not if it
+// clashes with it's second.
+
+// This scheme is here for backwards compatibility.
+// The type of clashes that can be are the following:
+// 1 - My field name clashes with their getter name
+// 2 - My getter name clashes with their field name
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid.proto
+
+//go:build protoopaque
+
+package test_name_clash_hybrid
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	reflect "reflect"
+)
+
+type M1 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_GetFoo_     int32                  `protobuf:"varint,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_GetGetFoo   int32                  `protobuf:"varint,3,opt,name=get_get_foo,json=getGetFoo" json:"get_get_foo,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M1) Reset() {
+	*x = M1{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M1) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M1) ProtoMessage() {}
+
+func (x *M1) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_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 *M1) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M1) GetGetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo_
+	}
+	return 0
+}
+
+func (x *M1) GetGetGetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_GetGetFoo
+	}
+	return 0
+}
+
+func (x *M1) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3)
+}
+
+func (x *M1) SetGetFoo(v int32) {
+	x.xxx_hidden_GetFoo_ = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3)
+}
+
+func (x *M1) SetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetFoo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
+}
+
+func (x *M1) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M1) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *M1) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *M1) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M1) ClearGetFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_GetFoo_ = 0
+}
+
+func (x *M1) ClearGetGetFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_GetGetFoo = 0
+}
+
+type M1_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Old Scheme:
+	// initial name in Go     | Clashes with field | type | final name
+	// Foo                    | -                  | -    | Foo
+	// GetFoo                 | foo                | 1    | GetFoo_
+	// GetGetFoo              | -                  | -    | GetGetFoo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | -                  | -    | GetGetGetFoo
+	Foo       *int32
+	GetFoo    *int32
+	GetGetFoo *int32
+}
+
+func (b0 M1_builder) Build() *M1 {
+	m0 := &M1{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.GetFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3)
+		x.xxx_hidden_GetFoo_ = *b.GetFoo
+	}
+	if b.GetGetFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
+		x.xxx_hidden_GetGetFoo = *b.GetGetFoo
+	}
+	return m0
+}
+
+type M2 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetGetFoo   int32                  `protobuf:"varint,3,opt,name=get_get_foo,json=getGetFoo" json:"get_get_foo,omitempty"`
+	xxx_hidden_GetFoo_     int32                  `protobuf:"varint,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M2) Reset() {
+	*x = M2{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M2) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M2) ProtoMessage() {}
+
+func (x *M2) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_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 *M2) GetGetGetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_GetGetFoo
+	}
+	return 0
+}
+
+func (x *M2) GetGetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo_
+	}
+	return 0
+}
+
+func (x *M2) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M2) SetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetFoo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3)
+}
+
+func (x *M2) SetGetFoo(v int32) {
+	x.xxx_hidden_GetFoo_ = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3)
+}
+
+func (x *M2) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
+}
+
+func (x *M2) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M2) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *M2) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *M2) ClearGetGetFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_GetGetFoo = 0
+}
+
+func (x *M2) ClearGetFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_GetFoo_ = 0
+}
+
+func (x *M2) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_Foo = 0
+}
+
+type M2_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Old Scheme:
+	// initial name in Go     | Clashes with field | type | final name
+	// GetGetFoo              | -                  | -    | GetGetFoo
+	// GetFoo                 | get_get_foo        | 2    | GetFoo_
+	// Foo                    | -                  | -    | Foo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | -                  | -    | GetGetGetFoo
+	GetGetFoo *int32
+	GetFoo    *int32
+	Foo       *int32
+}
+
+func (b0 M2_builder) Build() *M2 {
+	m0 := &M2{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.GetGetFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3)
+		x.xxx_hidden_GetGetFoo = *b.GetGetFoo
+	}
+	if b.GetFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3)
+		x.xxx_hidden_GetFoo_ = *b.GetFoo
+	}
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	return m0
+}
+
+type M3 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetFoo      int32                  `protobuf:"varint,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_GetGetFoo_  int32                  `protobuf:"varint,3,opt,name=get_get_foo,json=getGetFoo" json:"get_get_foo,omitempty"`
+	xxx_hidden_Foo_        int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M3) Reset() {
+	*x = M3{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M3) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M3) ProtoMessage() {}
+
+func (x *M3) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_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 *M3) GetGetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo
+	}
+	return 0
+}
+
+func (x *M3) GetGetGetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_GetGetFoo_
+	}
+	return 0
+}
+
+func (x *M3) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo_
+	}
+	return 0
+}
+
+func (x *M3) SetGetFoo(v int32) {
+	x.xxx_hidden_GetFoo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3)
+}
+
+func (x *M3) SetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetFoo_ = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3)
+}
+
+func (x *M3) SetFoo(v int32) {
+	x.xxx_hidden_Foo_ = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
+}
+
+func (x *M3) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M3) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *M3) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *M3) ClearGetFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_GetFoo = 0
+}
+
+func (x *M3) ClearGetGetFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_GetGetFoo_ = 0
+}
+
+func (x *M3) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_Foo_ = 0
+}
+
+type M3_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Old Scheme:
+	// initial name in Go     | Clashes with field | type | final name
+	// GetFoo                 | -                  | -    | GetFoo
+	// GetGetFoo              | get_foo            | 1    | GetGetFoo_
+	// Foo                    | get_foo            | 2    | Foo_
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | -                  | -    | GetGetGetFoo
+	GetFoo    *int32
+	GetGetFoo *int32
+	Foo       *int32
+}
+
+func (b0 M3_builder) Build() *M3 {
+	m0 := &M3{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.GetFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3)
+		x.xxx_hidden_GetFoo = *b.GetFoo
+	}
+	if b.GetGetFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3)
+		x.xxx_hidden_GetGetFoo_ = *b.GetGetFoo
+	}
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
+		x.xxx_hidden_Foo_ = *b.Foo
+	}
+	return m0
+}
+
+type M4 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetFoo      int32                  `protobuf:"varint,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_GetGetFoo_  isM4_GetGetFoo_        `protobuf_oneof:"get_get_foo"`
+	xxx_hidden_Foo_        int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M4) Reset() {
+	*x = M4{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M4) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M4) ProtoMessage() {}
+
+func (x *M4) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[3]
+	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 *M4) GetGetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo
+	}
+	return 0
+}
+
+func (x *M4) GetGetGetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetFoo_.(*m4_GetGetGetFoo); ok {
+			return x.GetGetGetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M4) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo_
+	}
+	return 0
+}
+
+func (x *M4) SetGetFoo(v int32) {
+	x.xxx_hidden_GetFoo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3)
+}
+
+func (x *M4) SetGetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetFoo_ = &m4_GetGetGetFoo{v}
+}
+
+func (x *M4) SetFoo(v int32) {
+	x.xxx_hidden_Foo_ = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
+}
+
+func (x *M4) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M4) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetFoo_ != nil
+}
+
+func (x *M4) HasGetGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetFoo_.(*m4_GetGetGetFoo)
+	return ok
+}
+
+func (x *M4) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *M4) ClearGetFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_GetFoo = 0
+}
+
+func (x *M4) ClearGetGetFoo() {
+	x.xxx_hidden_GetGetFoo_ = nil
+}
+
+func (x *M4) ClearGetGetGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetFoo_.(*m4_GetGetGetFoo); ok {
+		x.xxx_hidden_GetGetFoo_ = nil
+	}
+}
+
+func (x *M4) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_Foo_ = 0
+}
+
+const M4_GetGetFoo__not_set_case case_M4_GetGetFoo_ = 0
+const M4_GetGetGetFoo_case case_M4_GetGetFoo_ = 3
+
+func (x *M4) WhichGetGetFoo() case_M4_GetGetFoo_ {
+	if x == nil {
+		return M4_GetGetFoo__not_set_case
+	}
+	switch x.xxx_hidden_GetGetFoo_.(type) {
+	case *m4_GetGetGetFoo:
+		return M4_GetGetGetFoo_case
+	default:
+		return M4_GetGetFoo__not_set_case
+	}
+}
+
+type M4_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Old Scheme:
+	// initial name in Go     | Clashes with field | type | final name
+	// GetFoo                 | -                  | -    | GetFoo
+	// GetGetFoo              | get_foo            | 1    | GetGetFoo_
+	//
+	//	GetGetGetFoo          | -                  | -    | GetGetGetFoo
+	//	                      |                    |      |
+	//
+	// Foo                    | get_foo            | 2    | Foo_
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetGetFoo           | -                  | -    | GetGetGetGetFoo
+	GetFoo *int32
+	// Fields of oneof xxx_hidden_GetGetFoo_:
+	GetGetGetFoo *int32
+	// -- end of xxx_hidden_GetGetFoo_
+	Foo *int32
+}
+
+func (b0 M4_builder) Build() *M4 {
+	m0 := &M4{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.GetFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3)
+		x.xxx_hidden_GetFoo = *b.GetFoo
+	}
+	if b.GetGetGetFoo != nil {
+		x.xxx_hidden_GetGetFoo_ = &m4_GetGetGetFoo{*b.GetGetGetFoo}
+	}
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
+		x.xxx_hidden_Foo_ = *b.Foo
+	}
+	return m0
+}
+
+type case_M4_GetGetFoo_ protoreflect.FieldNumber
+
+func (x case_M4_GetGetFoo_) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[3].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM4_GetGetFoo_ interface {
+	isM4_GetGetFoo_()
+}
+
+type m4_GetGetGetFoo struct {
+	GetGetGetFoo int32 `protobuf:"varint,3,opt,name=get_get_get_foo,json=getGetGetFoo,oneof"`
+}
+
+func (*m4_GetGetGetFoo) isM4_GetGetFoo_() {}
+
+type M5 struct {
+	state                   protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetFoo       int32                  `protobuf:"varint,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_GetGetGetFoo isM5_GetGetGetFoo      `protobuf_oneof:"get_get_get_foo"`
+	xxx_hidden_Foo_         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	XXX_raceDetectHookData  protoimpl.RaceDetectHookData
+	XXX_presence            [1]uint32
+	unknownFields           protoimpl.UnknownFields
+	sizeCache               protoimpl.SizeCache
+}
+
+func (x *M5) Reset() {
+	*x = M5{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M5) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M5) ProtoMessage() {}
+
+func (x *M5) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[4]
+	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 *M5) GetGetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo
+	}
+	return 0
+}
+
+func (x *M5) GetGetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetGetFoo.(*m5_GetGetFoo_); ok {
+			return x.GetGetFoo_
+		}
+	}
+	return 0
+}
+
+func (x *M5) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo_
+	}
+	return 0
+}
+
+func (x *M5) SetGetFoo(v int32) {
+	x.xxx_hidden_GetFoo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3)
+}
+
+func (x *M5) SetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetGetFoo = &m5_GetGetFoo_{v}
+}
+
+func (x *M5) SetFoo(v int32) {
+	x.xxx_hidden_Foo_ = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
+}
+
+func (x *M5) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M5) HasGetGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetGetFoo != nil
+}
+
+func (x *M5) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetGetFoo.(*m5_GetGetFoo_)
+	return ok
+}
+
+func (x *M5) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *M5) ClearGetFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_GetFoo = 0
+}
+
+func (x *M5) ClearGetGetGetFoo() {
+	x.xxx_hidden_GetGetGetFoo = nil
+}
+
+func (x *M5) ClearGetGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetGetFoo.(*m5_GetGetFoo_); ok {
+		x.xxx_hidden_GetGetGetFoo = nil
+	}
+}
+
+func (x *M5) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_Foo_ = 0
+}
+
+const M5_GetGetGetFoo_not_set_case case_M5_GetGetGetFoo = 0
+const M5_GetGetFoo__case case_M5_GetGetGetFoo = 3
+
+func (x *M5) WhichGetGetGetFoo() case_M5_GetGetGetFoo {
+	if x == nil {
+		return M5_GetGetGetFoo_not_set_case
+	}
+	switch x.xxx_hidden_GetGetGetFoo.(type) {
+	case *m5_GetGetFoo_:
+		return M5_GetGetFoo__case
+	default:
+		return M5_GetGetGetFoo_not_set_case
+	}
+}
+
+type M5_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Old Scheme:
+	// Note evaluation order - get_get_foo before get_get_get_foo
+	// initial name in Go     | Clashes with field | type | final name
+	// GetFoo                 | -                  | -    | GetFoo
+	// GetGetGetFoo           | -                  | -    | GetGetGetFoo
+	//
+	//	GetGetFoo             | get_foo            | 1    | GetGetFoo_
+	//	                      |                    |      |
+	//
+	// Foo                    | get_foo            | 2    | Foo_
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | get_get_get_foo    | G    | Get_GetGetFoo
+	GetFoo *int32
+	// Fields of oneof xxx_hidden_GetGetGetFoo:
+	GetGetFoo *int32
+	// -- end of xxx_hidden_GetGetGetFoo
+	Foo *int32
+}
+
+func (b0 M5_builder) Build() *M5 {
+	m0 := &M5{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.GetFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3)
+		x.xxx_hidden_GetFoo = *b.GetFoo
+	}
+	if b.GetGetFoo != nil {
+		x.xxx_hidden_GetGetGetFoo = &m5_GetGetFoo_{*b.GetGetFoo}
+	}
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
+		x.xxx_hidden_Foo_ = *b.Foo
+	}
+	return m0
+}
+
+type case_M5_GetGetGetFoo protoreflect.FieldNumber
+
+func (x case_M5_GetGetGetFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[4].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM5_GetGetGetFoo interface {
+	isM5_GetGetGetFoo()
+}
+
+type m5_GetGetFoo_ struct {
+	GetGetFoo_ int32 `protobuf:"varint,3,opt,name=get_get_foo,json=getGetFoo,oneof"`
+}
+
+func (*m5_GetGetFoo_) isM5_GetGetGetFoo() {}
+
+type M6 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetGetFoo   isM6_GetGetFoo         `protobuf_oneof:"get_get_foo"`
+	xxx_hidden_GetFoo_     int32                  `protobuf:"varint,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M6) Reset() {
+	*x = M6{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M6) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M6) ProtoMessage() {}
+
+func (x *M6) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[5]
+	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 *M6) GetGetGetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetFoo.(*m6_GetGetGetFoo); ok {
+			return x.GetGetGetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M6) GetGetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo_
+	}
+	return 0
+}
+
+func (x *M6) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M6) SetGetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetFoo = &m6_GetGetGetFoo{v}
+}
+
+func (x *M6) SetGetFoo(v int32) {
+	x.xxx_hidden_GetFoo_ = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3)
+}
+
+func (x *M6) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
+}
+
+func (x *M6) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetFoo != nil
+}
+
+func (x *M6) HasGetGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetFoo.(*m6_GetGetGetFoo)
+	return ok
+}
+
+func (x *M6) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *M6) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *M6) ClearGetGetFoo() {
+	x.xxx_hidden_GetGetFoo = nil
+}
+
+func (x *M6) ClearGetGetGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetFoo.(*m6_GetGetGetFoo); ok {
+		x.xxx_hidden_GetGetFoo = nil
+	}
+}
+
+func (x *M6) ClearGetFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_GetFoo_ = 0
+}
+
+func (x *M6) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_Foo = 0
+}
+
+const M6_GetGetFoo_not_set_case case_M6_GetGetFoo = 0
+const M6_GetGetGetFoo_case case_M6_GetGetFoo = 3
+
+func (x *M6) WhichGetGetFoo() case_M6_GetGetFoo {
+	if x == nil {
+		return M6_GetGetFoo_not_set_case
+	}
+	switch x.xxx_hidden_GetGetFoo.(type) {
+	case *m6_GetGetGetFoo:
+		return M6_GetGetGetFoo_case
+	default:
+		return M6_GetGetFoo_not_set_case
+	}
+}
+
+type M6_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Note evaluation order - get_get_get_foo before get_get_foo
+	// initial name in Go     | Clashes with field | type | final name
+	// GetGetFoo              | -                  | -    | GetGetFoo
+	//  GetGetGetFoo          | -                  | -    | GetGetGetFoo
+	//                        |                    |      |
+	// GetFoo                 | get_get_foo        | 2    | GetFoo_
+	// Foo                    | -                  | -    | Foo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetGetFoo           | -                  | -    | GetGetGetGetFoo
+
+	// Fields of oneof xxx_hidden_GetGetFoo:
+	GetGetGetFoo *int32
+	// -- end of xxx_hidden_GetGetFoo
+	GetFoo *int32
+	Foo    *int32
+}
+
+func (b0 M6_builder) Build() *M6 {
+	m0 := &M6{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.GetGetGetFoo != nil {
+		x.xxx_hidden_GetGetFoo = &m6_GetGetGetFoo{*b.GetGetGetFoo}
+	}
+	if b.GetFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3)
+		x.xxx_hidden_GetFoo_ = *b.GetFoo
+	}
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	return m0
+}
+
+type case_M6_GetGetFoo protoreflect.FieldNumber
+
+func (x case_M6_GetGetFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[5].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM6_GetGetFoo interface {
+	isM6_GetGetFoo()
+}
+
+type m6_GetGetGetFoo struct {
+	GetGetGetFoo int32 `protobuf:"varint,3,opt,name=get_get_get_foo,json=getGetGetFoo,oneof"`
+}
+
+func (*m6_GetGetGetFoo) isM6_GetGetFoo() {}
+
+type M7 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetGetFoo   isM7_GetGetFoo         `protobuf_oneof:"get_get_foo"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M7) Reset() {
+	*x = M7{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M7) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M7) ProtoMessage() {}
+
+func (x *M7) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[6]
+	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 *M7) GetBar() bool {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetFoo.(*m7_Bar); ok {
+			return x.Bar
+		}
+	}
+	return false
+}
+
+func (x *M7) GetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetFoo.(*m7_GetFoo_); ok {
+			return x.GetFoo_
+		}
+	}
+	return 0
+}
+
+func (x *M7) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M7) SetBar(v bool) {
+	x.xxx_hidden_GetGetFoo = &m7_Bar{v}
+}
+
+func (x *M7) SetGetFoo(v int32) {
+	x.xxx_hidden_GetGetFoo = &m7_GetFoo_{v}
+}
+
+func (x *M7) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
+}
+
+func (x *M7) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetFoo != nil
+}
+
+func (x *M7) HasBar() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetFoo.(*m7_Bar)
+	return ok
+}
+
+func (x *M7) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetFoo.(*m7_GetFoo_)
+	return ok
+}
+
+func (x *M7) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *M7) ClearGetGetFoo() {
+	x.xxx_hidden_GetGetFoo = nil
+}
+
+func (x *M7) ClearBar() {
+	if _, ok := x.xxx_hidden_GetGetFoo.(*m7_Bar); ok {
+		x.xxx_hidden_GetGetFoo = nil
+	}
+}
+
+func (x *M7) ClearGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetFoo.(*m7_GetFoo_); ok {
+		x.xxx_hidden_GetGetFoo = nil
+	}
+}
+
+func (x *M7) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_Foo = 0
+}
+
+const M7_GetGetFoo_not_set_case case_M7_GetGetFoo = 0
+const M7_Bar_case case_M7_GetGetFoo = 4
+const M7_GetFoo__case case_M7_GetGetFoo = 3
+
+func (x *M7) WhichGetGetFoo() case_M7_GetGetFoo {
+	if x == nil {
+		return M7_GetGetFoo_not_set_case
+	}
+	switch x.xxx_hidden_GetGetFoo.(type) {
+	case *m7_Bar:
+		return M7_Bar_case
+	case *m7_GetFoo_:
+		return M7_GetFoo__case
+	default:
+		return M7_GetGetFoo_not_set_case
+	}
+}
+
+type M7_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Note evaluation order - bar before get_get_foo, then get_get_get_foo
+	// initial name in Go     | Clashes with field | type | final name
+	// GetGetFoo              | -                  | -    | GetGetFoo
+	//  Bar                   | -                  | -    | Bar
+	//  GetFoo                | foo                | 1    | GetFoo_
+	//                        |                    |      |
+	// Foo                    | -                  | -    | Foo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// Bar                    | -                  | -    | GetBar
+
+	// Fields of oneof xxx_hidden_GetGetFoo:
+	Bar    *bool
+	GetFoo *int32
+	// -- end of xxx_hidden_GetGetFoo
+	Foo *int32
+}
+
+func (b0 M7_builder) Build() *M7 {
+	m0 := &M7{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Bar != nil {
+		x.xxx_hidden_GetGetFoo = &m7_Bar{*b.Bar}
+	}
+	if b.GetFoo != nil {
+		x.xxx_hidden_GetGetFoo = &m7_GetFoo_{*b.GetFoo}
+	}
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	return m0
+}
+
+type case_M7_GetGetFoo protoreflect.FieldNumber
+
+func (x case_M7_GetGetFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[6].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM7_GetGetFoo interface {
+	isM7_GetGetFoo()
+}
+
+type m7_Bar struct {
+	Bar bool `protobuf:"varint,4,opt,name=bar,oneof"`
+}
+
+type m7_GetFoo_ struct {
+	GetFoo_ int32 `protobuf:"varint,3,opt,name=get_foo,json=getFoo,oneof"`
+}
+
+func (*m7_Bar) isM7_GetGetFoo() {}
+
+func (*m7_GetFoo_) isM7_GetGetFoo() {}
+
+type M8 struct {
+	state                    protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetGetGetFoo_ isM8_GetGetGetFoo_     `protobuf_oneof:"get_get_get_foo"`
+	xxx_hidden_GetFoo_       int32                  `protobuf:"varint,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_Foo           int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	XXX_raceDetectHookData   protoimpl.RaceDetectHookData
+	XXX_presence             [1]uint32
+	unknownFields            protoimpl.UnknownFields
+	sizeCache                protoimpl.SizeCache
+}
+
+func (x *M8) Reset() {
+	*x = M8{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M8) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M8) ProtoMessage() {}
+
+func (x *M8) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[7]
+	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 *M8) GetGetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetGetFoo_.(*m8_GetGetFoo); ok {
+			return x.GetGetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M8) GetGetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo_
+	}
+	return 0
+}
+
+func (x *M8) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M8) SetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetGetFoo_ = &m8_GetGetFoo{v}
+}
+
+func (x *M8) SetGetFoo(v int32) {
+	x.xxx_hidden_GetFoo_ = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3)
+}
+
+func (x *M8) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
+}
+
+func (x *M8) HasGetGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetGetFoo_ != nil
+}
+
+func (x *M8) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetGetFoo_.(*m8_GetGetFoo)
+	return ok
+}
+
+func (x *M8) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *M8) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *M8) ClearGetGetGetFoo() {
+	x.xxx_hidden_GetGetGetFoo_ = nil
+}
+
+func (x *M8) ClearGetGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetGetFoo_.(*m8_GetGetFoo); ok {
+		x.xxx_hidden_GetGetGetFoo_ = nil
+	}
+}
+
+func (x *M8) ClearGetFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_GetFoo_ = 0
+}
+
+func (x *M8) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_Foo = 0
+}
+
+const M8_GetGetGetFoo__not_set_case case_M8_GetGetGetFoo_ = 0
+const M8_GetGetFoo_case case_M8_GetGetGetFoo_ = 3
+
+func (x *M8) WhichGetGetGetFoo() case_M8_GetGetGetFoo_ {
+	if x == nil {
+		return M8_GetGetGetFoo__not_set_case
+	}
+	switch x.xxx_hidden_GetGetGetFoo_.(type) {
+	case *m8_GetGetFoo:
+		return M8_GetGetFoo_case
+	default:
+		return M8_GetGetGetFoo__not_set_case
+	}
+}
+
+type M8_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Note evaluation order - get_get_foo before get_get_get_foo
+	// initial name in Go     | Clashes with field | type | final name
+	// GetGetGetFoo           | get_get_foo        | 1    | GetGetGetFoo_
+	//  GetGetFoo             | -                  | -    | GetGetFoo
+	//                        |                    |      |
+	// GetFoo                 | get_get_foo        | 2    | GetFoo_
+	// Foo                    | -                  | -    | Foo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | get_get_get_foo    | G    | Get_GetGetFoo
+
+	// Fields of oneof xxx_hidden_GetGetGetFoo_:
+	GetGetFoo *int32
+	// -- end of xxx_hidden_GetGetGetFoo_
+	GetFoo *int32
+	Foo    *int32
+}
+
+func (b0 M8_builder) Build() *M8 {
+	m0 := &M8{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.GetGetFoo != nil {
+		x.xxx_hidden_GetGetGetFoo_ = &m8_GetGetFoo{*b.GetGetFoo}
+	}
+	if b.GetFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3)
+		x.xxx_hidden_GetFoo_ = *b.GetFoo
+	}
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	return m0
+}
+
+type case_M8_GetGetGetFoo_ protoreflect.FieldNumber
+
+func (x case_M8_GetGetGetFoo_) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[7].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM8_GetGetGetFoo_ interface {
+	isM8_GetGetGetFoo_()
+}
+
+type m8_GetGetFoo struct {
+	GetGetFoo int32 `protobuf:"varint,3,opt,name=get_get_foo,json=getGetFoo,oneof"`
+}
+
+func (*m8_GetGetFoo) isM8_GetGetGetFoo_() {}
+
+type M9 struct {
+	state                    protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetGetGetFoo_ isM9_GetGetGetFoo_     `protobuf_oneof:"get_get_get_foo"`
+	xxx_hidden_Foo           int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	XXX_raceDetectHookData   protoimpl.RaceDetectHookData
+	XXX_presence             [1]uint32
+	unknownFields            protoimpl.UnknownFields
+	sizeCache                protoimpl.SizeCache
+}
+
+func (x *M9) Reset() {
+	*x = M9{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M9) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M9) ProtoMessage() {}
+
+func (x *M9) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[8]
+	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 *M9) GetGetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetGetFoo); ok {
+			return x.GetGetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M9) GetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetFoo_); ok {
+			return x.GetFoo_
+		}
+	}
+	return 0
+}
+
+func (x *M9) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M9) SetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetGetFoo_ = &m9_GetGetFoo{v}
+}
+
+func (x *M9) SetGetFoo(v int32) {
+	x.xxx_hidden_GetGetGetFoo_ = &m9_GetFoo_{v}
+}
+
+func (x *M9) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
+}
+
+func (x *M9) HasGetGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetGetFoo_ != nil
+}
+
+func (x *M9) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetGetFoo)
+	return ok
+}
+
+func (x *M9) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetFoo_)
+	return ok
+}
+
+func (x *M9) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *M9) ClearGetGetGetFoo() {
+	x.xxx_hidden_GetGetGetFoo_ = nil
+}
+
+func (x *M9) ClearGetGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetGetFoo); ok {
+		x.xxx_hidden_GetGetGetFoo_ = nil
+	}
+}
+
+func (x *M9) ClearGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetFoo_); ok {
+		x.xxx_hidden_GetGetGetFoo_ = nil
+	}
+}
+
+func (x *M9) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_Foo = 0
+}
+
+const M9_GetGetGetFoo__not_set_case case_M9_GetGetGetFoo_ = 0
+const M9_GetGetFoo_case case_M9_GetGetGetFoo_ = 3
+const M9_GetFoo__case case_M9_GetGetGetFoo_ = 2
+
+func (x *M9) WhichGetGetGetFoo() case_M9_GetGetGetFoo_ {
+	if x == nil {
+		return M9_GetGetGetFoo__not_set_case
+	}
+	switch x.xxx_hidden_GetGetGetFoo_.(type) {
+	case *m9_GetGetFoo:
+		return M9_GetGetFoo_case
+	case *m9_GetFoo_:
+		return M9_GetFoo__case
+	default:
+		return M9_GetGetGetFoo__not_set_case
+	}
+}
+
+type M9_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Note evaluation order - get_get_foo before get_get_get_foo, then get_foo
+	// initial name in Go     | Clashes with field | type | final name
+	// GetGetGetFoo           | get_get_foo        | 1    | GetGetGetFoo_
+	//  GetGetFoo             | -                  | -    | GetGetFoo
+	//  GetFoo                | get_get_foo        | 2    | GetFoo_
+	//                        |                    |      |
+	// Foo                    | -                  | -    | Foo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | get_get_get_foo    | G    | Get_GetGetFoo
+
+	// Fields of oneof xxx_hidden_GetGetGetFoo_:
+	GetGetFoo *int32
+	GetFoo    *int32
+	// -- end of xxx_hidden_GetGetGetFoo_
+	Foo *int32
+}
+
+func (b0 M9_builder) Build() *M9 {
+	m0 := &M9{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.GetGetFoo != nil {
+		x.xxx_hidden_GetGetGetFoo_ = &m9_GetGetFoo{*b.GetGetFoo}
+	}
+	if b.GetFoo != nil {
+		x.xxx_hidden_GetGetGetFoo_ = &m9_GetFoo_{*b.GetFoo}
+	}
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	return m0
+}
+
+type case_M9_GetGetGetFoo_ protoreflect.FieldNumber
+
+func (x case_M9_GetGetGetFoo_) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[8].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM9_GetGetGetFoo_ interface {
+	isM9_GetGetGetFoo_()
+}
+
+type m9_GetGetFoo struct {
+	GetGetFoo int32 `protobuf:"varint,3,opt,name=get_get_foo,json=getGetFoo,oneof"`
+}
+
+type m9_GetFoo_ struct {
+	GetFoo_ int32 `protobuf:"varint,2,opt,name=get_foo,json=getFoo,oneof"`
+}
+
+func (*m9_GetGetFoo) isM9_GetGetGetFoo_() {}
+
+func (*m9_GetFoo_) isM9_GetGetGetFoo_() {}
+
+type M10 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_SetFoo      int32                  `protobuf:"varint,2,opt,name=set_foo,json=setFoo" json:"set_foo,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M10) Reset() {
+	*x = M10{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M10) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M10) ProtoMessage() {}
+
+func (x *M10) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[9]
+	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 *M10) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M10) GetSetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_SetFoo
+	}
+	return 0
+}
+
+func (x *M10) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *M10) SetSetFoo(v int32) {
+	x.xxx_hidden_SetFoo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
+}
+
+func (x *M10) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M10) HasSetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *M10) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M10) ClearSetFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_SetFoo = 0
+}
+
+type M10_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Set Clashes - no concerns with get-mangling as legacy open struct
+	// does not have setters except for weak fields:
+	// initial name in Go     | Clashes with field | Setter name
+	// Foo                    | set_foo            | Set_Foo
+	// SetFoo                 | -                  | SetSetFoo
+	Foo    *int32
+	SetFoo *int32
+}
+
+func (b0 M10_builder) Build() *M10 {
+	m0 := &M10{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.SetFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
+		x.xxx_hidden_SetFoo = *b.SetFoo
+	}
+	return m0
+}
+
+type M11 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_SetFoo      isM11_SetFoo           `protobuf_oneof:"set_foo"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M11) Reset() {
+	*x = M11{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[10]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M11) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M11) ProtoMessage() {}
+
+func (x *M11) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[10]
+	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 *M11) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M11) GetSetSetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_SetFoo.(*m11_SetSetFoo); ok {
+			return x.SetSetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M11) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *M11) SetSetSetFoo(v int32) {
+	x.xxx_hidden_SetFoo = &m11_SetSetFoo{v}
+}
+
+func (x *M11) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M11) HasSetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_SetFoo != nil
+}
+
+func (x *M11) HasSetSetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_SetFoo.(*m11_SetSetFoo)
+	return ok
+}
+
+func (x *M11) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M11) ClearSetFoo() {
+	x.xxx_hidden_SetFoo = nil
+}
+
+func (x *M11) ClearSetSetFoo() {
+	if _, ok := x.xxx_hidden_SetFoo.(*m11_SetSetFoo); ok {
+		x.xxx_hidden_SetFoo = nil
+	}
+}
+
+const M11_SetFoo_not_set_case case_M11_SetFoo = 0
+const M11_SetSetFoo_case case_M11_SetFoo = 2
+
+func (x *M11) WhichSetFoo() case_M11_SetFoo {
+	if x == nil {
+		return M11_SetFoo_not_set_case
+	}
+	switch x.xxx_hidden_SetFoo.(type) {
+	case *m11_SetSetFoo:
+		return M11_SetSetFoo_case
+	default:
+		return M11_SetFoo_not_set_case
+	}
+}
+
+type M11_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Set Clashes - no concerns with get-mangling as legacy open struct
+	// does not have setters except for weak fields:
+	// initial name in Go     | Clashes with field | Setter name
+	// Foo                    | set_foo            | Set_Foo
+	// SetSetFoo              | -                  | SetSetSetFoo
+	Foo *int32
+	// Fields of oneof xxx_hidden_SetFoo:
+	SetSetFoo *int32
+	// -- end of xxx_hidden_SetFoo
+}
+
+func (b0 M11_builder) Build() *M11 {
+	m0 := &M11{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.SetSetFoo != nil {
+		x.xxx_hidden_SetFoo = &m11_SetSetFoo{*b.SetSetFoo}
+	}
+	return m0
+}
+
+type case_M11_SetFoo protoreflect.FieldNumber
+
+func (x case_M11_SetFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[10].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM11_SetFoo interface {
+	isM11_SetFoo()
+}
+
+type m11_SetSetFoo struct {
+	SetSetFoo int32 `protobuf:"varint,2,opt,name=set_set_foo,json=setSetFoo,oneof"`
+}
+
+func (*m11_SetSetFoo) isM11_SetFoo() {}
+
+type M12 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_SetSetFoo   isM12_SetSetFoo        `protobuf_oneof:"set_set_foo"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M12) Reset() {
+	*x = M12{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[11]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M12) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M12) ProtoMessage() {}
+
+func (x *M12) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[11]
+	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 *M12) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M12) GetSetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_SetSetFoo.(*m12_SetFoo); ok {
+			return x.SetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M12) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *M12) SetSetFoo(v int32) {
+	x.xxx_hidden_SetSetFoo = &m12_SetFoo{v}
+}
+
+func (x *M12) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M12) HasSetSetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_SetSetFoo != nil
+}
+
+func (x *M12) HasSetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_SetSetFoo.(*m12_SetFoo)
+	return ok
+}
+
+func (x *M12) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M12) ClearSetSetFoo() {
+	x.xxx_hidden_SetSetFoo = nil
+}
+
+func (x *M12) ClearSetFoo() {
+	if _, ok := x.xxx_hidden_SetSetFoo.(*m12_SetFoo); ok {
+		x.xxx_hidden_SetSetFoo = nil
+	}
+}
+
+const M12_SetSetFoo_not_set_case case_M12_SetSetFoo = 0
+const M12_SetFoo_case case_M12_SetSetFoo = 2
+
+func (x *M12) WhichSetSetFoo() case_M12_SetSetFoo {
+	if x == nil {
+		return M12_SetSetFoo_not_set_case
+	}
+	switch x.xxx_hidden_SetSetFoo.(type) {
+	case *m12_SetFoo:
+		return M12_SetFoo_case
+	default:
+		return M12_SetSetFoo_not_set_case
+	}
+}
+
+type M12_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Set Clashes - no concerns with get-mangling as legacy open struct
+	// does not have setters except for weak fields:
+	// initial name in Go     | Clashes with field | Setter name
+	// Foo                    | set_foo            | Set_Foo
+	// SetFoo                 | set_set_foo        | Set_SetFoo
+	Foo *int32
+	// Fields of oneof xxx_hidden_SetSetFoo:
+	SetFoo *int32
+	// -- end of xxx_hidden_SetSetFoo
+}
+
+func (b0 M12_builder) Build() *M12 {
+	m0 := &M12{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.SetFoo != nil {
+		x.xxx_hidden_SetSetFoo = &m12_SetFoo{*b.SetFoo}
+	}
+	return m0
+}
+
+type case_M12_SetSetFoo protoreflect.FieldNumber
+
+func (x case_M12_SetSetFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[11].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM12_SetSetFoo interface {
+	isM12_SetSetFoo()
+}
+
+type m12_SetFoo struct {
+	SetFoo int32 `protobuf:"varint,2,opt,name=set_foo,json=setFoo,oneof"`
+}
+
+func (*m12_SetFoo) isM12_SetSetFoo() {}
+
+type M13 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_HasFoo      int32                  `protobuf:"varint,2,opt,name=has_foo,json=hasFoo" json:"has_foo,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M13) Reset() {
+	*x = M13{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[12]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M13) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M13) ProtoMessage() {}
+
+func (x *M13) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[12]
+	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 *M13) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M13) GetHasFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_HasFoo
+	}
+	return 0
+}
+
+func (x *M13) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *M13) SetHasFoo(v int32) {
+	x.xxx_hidden_HasFoo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
+}
+
+func (x *M13) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M13) HasHasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *M13) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M13) ClearHasFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_HasFoo = 0
+}
+
+type M13_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Has Clashes - no concerns with get-mangling as legacy open struct
+	// does not have hassers except for weak fields:
+	// initial name in Go     | Clashes with field | Hasser name
+	// Foo                    | has_foo            | Has_Foo
+	// HasFoo                 | -                  | HasHasFoo
+	Foo    *int32
+	HasFoo *int32
+}
+
+func (b0 M13_builder) Build() *M13 {
+	m0 := &M13{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.HasFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
+		x.xxx_hidden_HasFoo = *b.HasFoo
+	}
+	return m0
+}
+
+type M14 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_HasFoo      isM14_HasFoo           `protobuf_oneof:"has_foo"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M14) Reset() {
+	*x = M14{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[13]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M14) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M14) ProtoMessage() {}
+
+func (x *M14) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[13]
+	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 *M14) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M14) GetHasHasFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_HasFoo.(*m14_HasHasFoo); ok {
+			return x.HasHasFoo
+		}
+	}
+	return 0
+}
+
+func (x *M14) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *M14) SetHasHasFoo(v int32) {
+	x.xxx_hidden_HasFoo = &m14_HasHasFoo{v}
+}
+
+func (x *M14) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M14) HasHasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_HasFoo != nil
+}
+
+func (x *M14) HasHasHasFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_HasFoo.(*m14_HasHasFoo)
+	return ok
+}
+
+func (x *M14) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M14) ClearHasFoo() {
+	x.xxx_hidden_HasFoo = nil
+}
+
+func (x *M14) ClearHasHasFoo() {
+	if _, ok := x.xxx_hidden_HasFoo.(*m14_HasHasFoo); ok {
+		x.xxx_hidden_HasFoo = nil
+	}
+}
+
+const M14_HasFoo_not_set_case case_M14_HasFoo = 0
+const M14_HasHasFoo_case case_M14_HasFoo = 2
+
+func (x *M14) WhichHasFoo() case_M14_HasFoo {
+	if x == nil {
+		return M14_HasFoo_not_set_case
+	}
+	switch x.xxx_hidden_HasFoo.(type) {
+	case *m14_HasHasFoo:
+		return M14_HasHasFoo_case
+	default:
+		return M14_HasFoo_not_set_case
+	}
+}
+
+type M14_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Has Clashes - no concerns with get-mangling as legacy open struct
+	// does not have hassers except for weak fields:
+	// initial name in Go     | Clashes with field | Hasser name
+	// Foo                    | has_foo            | Has_Foo
+	// HasFoo                 | has_has_foo        | Has_HasFoo
+	// HasHasFoo              | -                  | HasHasHasFoo
+	Foo *int32
+	// Fields of oneof xxx_hidden_HasFoo:
+	HasHasFoo *int32
+	// -- end of xxx_hidden_HasFoo
+}
+
+func (b0 M14_builder) Build() *M14 {
+	m0 := &M14{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.HasHasFoo != nil {
+		x.xxx_hidden_HasFoo = &m14_HasHasFoo{*b.HasHasFoo}
+	}
+	return m0
+}
+
+type case_M14_HasFoo protoreflect.FieldNumber
+
+func (x case_M14_HasFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[13].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM14_HasFoo interface {
+	isM14_HasFoo()
+}
+
+type m14_HasHasFoo struct {
+	HasHasFoo int32 `protobuf:"varint,2,opt,name=has_has_foo,json=hasHasFoo,oneof"`
+}
+
+func (*m14_HasHasFoo) isM14_HasFoo() {}
+
+type M15 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_HasHasFoo   isM15_HasHasFoo        `protobuf_oneof:"has_has_foo"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M15) Reset() {
+	*x = M15{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[14]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M15) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M15) ProtoMessage() {}
+
+func (x *M15) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[14]
+	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 *M15) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M15) GetHasFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_HasHasFoo.(*m15_HasFoo); ok {
+			return x.HasFoo
+		}
+	}
+	return 0
+}
+
+func (x *M15) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *M15) SetHasFoo(v int32) {
+	x.xxx_hidden_HasHasFoo = &m15_HasFoo{v}
+}
+
+func (x *M15) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M15) HasHasHasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_HasHasFoo != nil
+}
+
+func (x *M15) HasHasFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_HasHasFoo.(*m15_HasFoo)
+	return ok
+}
+
+func (x *M15) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M15) ClearHasHasFoo() {
+	x.xxx_hidden_HasHasFoo = nil
+}
+
+func (x *M15) ClearHasFoo() {
+	if _, ok := x.xxx_hidden_HasHasFoo.(*m15_HasFoo); ok {
+		x.xxx_hidden_HasHasFoo = nil
+	}
+}
+
+const M15_HasHasFoo_not_set_case case_M15_HasHasFoo = 0
+const M15_HasFoo_case case_M15_HasHasFoo = 2
+
+func (x *M15) WhichHasHasFoo() case_M15_HasHasFoo {
+	if x == nil {
+		return M15_HasHasFoo_not_set_case
+	}
+	switch x.xxx_hidden_HasHasFoo.(type) {
+	case *m15_HasFoo:
+		return M15_HasFoo_case
+	default:
+		return M15_HasHasFoo_not_set_case
+	}
+}
+
+type M15_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Has Clashes - no concerns with get-mangling as legacy open struct
+	// does not have hassers except for weak fields:
+	// initial name in Go     | Clashes with field | Hasser name
+	// Foo                    | has_foo            | Has_Foo
+	// HasFoo                 | has_has_foo        | Has_HasFoo
+	// HasHasFoo              | -                  | HasHasHasFoo
+	Foo *int32
+	// Fields of oneof xxx_hidden_HasHasFoo:
+	HasFoo *int32
+	// -- end of xxx_hidden_HasHasFoo
+}
+
+func (b0 M15_builder) Build() *M15 {
+	m0 := &M15{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.HasFoo != nil {
+		x.xxx_hidden_HasHasFoo = &m15_HasFoo{*b.HasFoo}
+	}
+	return m0
+}
+
+type case_M15_HasHasFoo protoreflect.FieldNumber
+
+func (x case_M15_HasHasFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[14].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM15_HasHasFoo interface {
+	isM15_HasHasFoo()
+}
+
+type m15_HasFoo struct {
+	HasFoo int32 `protobuf:"varint,2,opt,name=has_foo,json=hasFoo,oneof"`
+}
+
+func (*m15_HasFoo) isM15_HasHasFoo() {}
+
+type M16 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_ClearFoo    int32                  `protobuf:"varint,2,opt,name=clear_foo,json=clearFoo" json:"clear_foo,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M16) Reset() {
+	*x = M16{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[15]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M16) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M16) ProtoMessage() {}
+
+func (x *M16) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[15]
+	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 *M16) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M16) GetClearFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_ClearFoo
+	}
+	return 0
+}
+
+func (x *M16) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *M16) SetClearFoo(v int32) {
+	x.xxx_hidden_ClearFoo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
+}
+
+func (x *M16) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M16) HasClearFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *M16) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M16) ClearClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_ClearFoo = 0
+}
+
+type M16_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Clear Clashes - no concerns with get-mangling as legacy open
+	// struct does not have clearers except for weak fields:
+	// initial name in Go     | Clashes with field | Clearer name
+	// Foo                    | clear_foo            | Clear_Foo
+	// ClearFoo               | -                  | ClearClearFoo
+	Foo      *int32
+	ClearFoo *int32
+}
+
+func (b0 M16_builder) Build() *M16 {
+	m0 := &M16{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.ClearFoo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
+		x.xxx_hidden_ClearFoo = *b.ClearFoo
+	}
+	return m0
+}
+
+type M17 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_ClearFoo    isM17_ClearFoo         `protobuf_oneof:"clear_foo"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M17) Reset() {
+	*x = M17{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[16]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M17) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M17) ProtoMessage() {}
+
+func (x *M17) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[16]
+	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 *M17) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M17) GetClearClearFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_ClearFoo.(*m17_ClearClearFoo); ok {
+			return x.ClearClearFoo
+		}
+	}
+	return 0
+}
+
+func (x *M17) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *M17) SetClearClearFoo(v int32) {
+	x.xxx_hidden_ClearFoo = &m17_ClearClearFoo{v}
+}
+
+func (x *M17) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M17) HasClearFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_ClearFoo != nil
+}
+
+func (x *M17) HasClearClearFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_ClearFoo.(*m17_ClearClearFoo)
+	return ok
+}
+
+func (x *M17) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M17) ClearClearFoo() {
+	x.xxx_hidden_ClearFoo = nil
+}
+
+func (x *M17) ClearClearClearFoo() {
+	if _, ok := x.xxx_hidden_ClearFoo.(*m17_ClearClearFoo); ok {
+		x.xxx_hidden_ClearFoo = nil
+	}
+}
+
+const M17_ClearFoo_not_set_case case_M17_ClearFoo = 0
+const M17_ClearClearFoo_case case_M17_ClearFoo = 2
+
+func (x *M17) WhichClearFoo() case_M17_ClearFoo {
+	if x == nil {
+		return M17_ClearFoo_not_set_case
+	}
+	switch x.xxx_hidden_ClearFoo.(type) {
+	case *m17_ClearClearFoo:
+		return M17_ClearClearFoo_case
+	default:
+		return M17_ClearFoo_not_set_case
+	}
+}
+
+type M17_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Clear Clashes - no concerns with get-mangling as legacy open
+	// struct does not have clearers except for weak fields:
+	// initial name in Go     | Clashes with field | Clearer name
+	// Foo                    | clear_foo          | Clear_Foo
+	// ClearFoo               | clear_clear_foo    | Clear_ClearFoo
+	// ClearClearFoo          | -                  | ClearClearClearFoo
+	Foo *int32
+	// Fields of oneof xxx_hidden_ClearFoo:
+	ClearClearFoo *int32
+	// -- end of xxx_hidden_ClearFoo
+}
+
+func (b0 M17_builder) Build() *M17 {
+	m0 := &M17{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.ClearClearFoo != nil {
+		x.xxx_hidden_ClearFoo = &m17_ClearClearFoo{*b.ClearClearFoo}
+	}
+	return m0
+}
+
+type case_M17_ClearFoo protoreflect.FieldNumber
+
+func (x case_M17_ClearFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[16].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM17_ClearFoo interface {
+	isM17_ClearFoo()
+}
+
+type m17_ClearClearFoo struct {
+	ClearClearFoo int32 `protobuf:"varint,2,opt,name=clear_clear_foo,json=clearClearFoo,oneof"`
+}
+
+func (*m17_ClearClearFoo) isM17_ClearFoo() {}
+
+type M18 struct {
+	state                    protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo           int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_ClearClearFoo isM18_ClearClearFoo    `protobuf_oneof:"clear_clear_foo"`
+	XXX_raceDetectHookData   protoimpl.RaceDetectHookData
+	XXX_presence             [1]uint32
+	unknownFields            protoimpl.UnknownFields
+	sizeCache                protoimpl.SizeCache
+}
+
+func (x *M18) Reset() {
+	*x = M18{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[17]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M18) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M18) ProtoMessage() {}
+
+func (x *M18) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[17]
+	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 *M18) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M18) GetClearFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_ClearClearFoo.(*m18_ClearFoo); ok {
+			return x.ClearFoo
+		}
+	}
+	return 0
+}
+
+func (x *M18) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *M18) SetClearFoo(v int32) {
+	x.xxx_hidden_ClearClearFoo = &m18_ClearFoo{v}
+}
+
+func (x *M18) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M18) HasClearClearFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_ClearClearFoo != nil
+}
+
+func (x *M18) HasClearFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_ClearClearFoo.(*m18_ClearFoo)
+	return ok
+}
+
+func (x *M18) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M18) ClearClearClearFoo() {
+	x.xxx_hidden_ClearClearFoo = nil
+}
+
+func (x *M18) ClearClearFoo() {
+	if _, ok := x.xxx_hidden_ClearClearFoo.(*m18_ClearFoo); ok {
+		x.xxx_hidden_ClearClearFoo = nil
+	}
+}
+
+const M18_ClearClearFoo_not_set_case case_M18_ClearClearFoo = 0
+const M18_ClearFoo_case case_M18_ClearClearFoo = 2
+
+func (x *M18) WhichClearClearFoo() case_M18_ClearClearFoo {
+	if x == nil {
+		return M18_ClearClearFoo_not_set_case
+	}
+	switch x.xxx_hidden_ClearClearFoo.(type) {
+	case *m18_ClearFoo:
+		return M18_ClearFoo_case
+	default:
+		return M18_ClearClearFoo_not_set_case
+	}
+}
+
+type M18_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Clear Clashes - no concerns with get-mangling as legacy open
+	// struct does not have clearers except for weak fields:
+	// initial name in Go     | Clashes with field | Clearer name
+	// Foo                    | clear_foo          | Clear_Foo
+	// ClearFoo               | clear_clear_foo    | Clear_ClearFoo
+	// ClearClearFoo          | -                  | ClearClearClearFoo
+	Foo *int32
+	// Fields of oneof xxx_hidden_ClearClearFoo:
+	ClearFoo *int32
+	// -- end of xxx_hidden_ClearClearFoo
+}
+
+func (b0 M18_builder) Build() *M18 {
+	m0 := &M18{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.ClearFoo != nil {
+		x.xxx_hidden_ClearClearFoo = &m18_ClearFoo{*b.ClearFoo}
+	}
+	return m0
+}
+
+type case_M18_ClearClearFoo protoreflect.FieldNumber
+
+func (x case_M18_ClearClearFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[17].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM18_ClearClearFoo interface {
+	isM18_ClearClearFoo()
+}
+
+type m18_ClearFoo struct {
+	ClearFoo int32 `protobuf:"varint,2,opt,name=clear_foo,json=clearFoo,oneof"`
+}
+
+func (*m18_ClearFoo) isM18_ClearClearFoo() {}
+
+type M19 struct {
+	state                    protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo           int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_WhichWhichFoo isM19_WhichWhichFoo    `protobuf_oneof:"which_which_foo"`
+	XXX_raceDetectHookData   protoimpl.RaceDetectHookData
+	XXX_presence             [1]uint32
+	unknownFields            protoimpl.UnknownFields
+	sizeCache                protoimpl.SizeCache
+}
+
+func (x *M19) Reset() {
+	*x = M19{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[18]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M19) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M19) ProtoMessage() {}
+
+func (x *M19) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[18]
+	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 *M19) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M19) GetWhichFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_WhichWhichFoo.(*m19_WhichFoo); ok {
+			return x.WhichFoo
+		}
+	}
+	return 0
+}
+
+func (x *M19) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *M19) SetWhichFoo(v int32) {
+	x.xxx_hidden_WhichWhichFoo = &m19_WhichFoo{v}
+}
+
+func (x *M19) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M19) HasWhichWhichFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_WhichWhichFoo != nil
+}
+
+func (x *M19) HasWhichFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_WhichWhichFoo.(*m19_WhichFoo)
+	return ok
+}
+
+func (x *M19) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M19) ClearWhichWhichFoo() {
+	x.xxx_hidden_WhichWhichFoo = nil
+}
+
+func (x *M19) ClearWhichFoo() {
+	if _, ok := x.xxx_hidden_WhichWhichFoo.(*m19_WhichFoo); ok {
+		x.xxx_hidden_WhichWhichFoo = nil
+	}
+}
+
+const M19_WhichWhichFoo_not_set_case case_M19_WhichWhichFoo = 0
+const M19_WhichFoo_case case_M19_WhichWhichFoo = 2
+
+func (x *M19) WhichWhichWhichFoo() case_M19_WhichWhichFoo {
+	if x == nil {
+		return M19_WhichWhichFoo_not_set_case
+	}
+	switch x.xxx_hidden_WhichWhichFoo.(type) {
+	case *m19_WhichFoo:
+		return M19_WhichFoo_case
+	default:
+		return M19_WhichWhichFoo_not_set_case
+	}
+}
+
+type M19_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Which Clashes - no concerns with get-mangling as legacy open
+	// struct does not have whichers except for weak fields:
+	// initial name in Go     | Clashes with field | Whicher name
+	// Foo                    | -                  | -
+	// WhichFoo               | -                  | -
+	// WhichWhichFoo          | -                  | WhichWhichWhichFoo
+	Foo *int32
+	// Fields of oneof xxx_hidden_WhichWhichFoo:
+	WhichFoo *int32
+	// -- end of xxx_hidden_WhichWhichFoo
+}
+
+func (b0 M19_builder) Build() *M19 {
+	m0 := &M19{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.WhichFoo != nil {
+		x.xxx_hidden_WhichWhichFoo = &m19_WhichFoo{*b.WhichFoo}
+	}
+	return m0
+}
+
+type case_M19_WhichWhichFoo protoreflect.FieldNumber
+
+func (x case_M19_WhichWhichFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[18].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM19_WhichWhichFoo interface {
+	isM19_WhichWhichFoo()
+}
+
+type m19_WhichFoo struct {
+	WhichFoo int32 `protobuf:"varint,2,opt,name=which_foo,json=whichFoo,oneof"`
+}
+
+func (*m19_WhichFoo) isM19_WhichWhichFoo() {}
+
+type M20 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo         int32                  `protobuf:"varint,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_WhichFoo    isM20_WhichFoo         `protobuf_oneof:"which_foo"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *M20) Reset() {
+	*x = M20{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[19]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M20) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M20) ProtoMessage() {}
+
+func (x *M20) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[19]
+	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 *M20) GetFoo() int32 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return 0
+}
+
+func (x *M20) GetWhichWhichFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_WhichFoo.(*m20_WhichWhichFoo); ok {
+			return x.WhichWhichFoo
+		}
+	}
+	return 0
+}
+
+func (x *M20) SetFoo(v int32) {
+	x.xxx_hidden_Foo = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *M20) SetWhichWhichFoo(v int32) {
+	x.xxx_hidden_WhichFoo = &m20_WhichWhichFoo{v}
+}
+
+func (x *M20) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *M20) HasWhichFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_WhichFoo != nil
+}
+
+func (x *M20) HasWhichWhichFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_WhichFoo.(*m20_WhichWhichFoo)
+	return ok
+}
+
+func (x *M20) ClearFoo() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Foo = 0
+}
+
+func (x *M20) ClearWhichFoo() {
+	x.xxx_hidden_WhichFoo = nil
+}
+
+func (x *M20) ClearWhichWhichFoo() {
+	if _, ok := x.xxx_hidden_WhichFoo.(*m20_WhichWhichFoo); ok {
+		x.xxx_hidden_WhichFoo = nil
+	}
+}
+
+const M20_WhichFoo_not_set_case case_M20_WhichFoo = 0
+const M20_WhichWhichFoo_case case_M20_WhichFoo = 2
+
+func (x *M20) WhichWhichFoo() case_M20_WhichFoo {
+	if x == nil {
+		return M20_WhichFoo_not_set_case
+	}
+	switch x.xxx_hidden_WhichFoo.(type) {
+	case *m20_WhichWhichFoo:
+		return M20_WhichWhichFoo_case
+	default:
+		return M20_WhichFoo_not_set_case
+	}
+}
+
+type M20_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Which Clashes - no concerns with get-mangling as legacy open
+	// struct does not have whichers except for weak fields:
+	// initial name in Go     | Clashes with field | Whicher name
+	// Foo                    | -                  | -
+	// WhichFoo               | which_which_foo    | Which_WhichFoo
+	// WhichWhichFoo          | -                  | -
+	Foo *int32
+	// Fields of oneof xxx_hidden_WhichFoo:
+	WhichWhichFoo *int32
+	// -- end of xxx_hidden_WhichFoo
+}
+
+func (b0 M20_builder) Build() *M20 {
+	m0 := &M20{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Foo != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Foo = *b.Foo
+	}
+	if b.WhichWhichFoo != nil {
+		x.xxx_hidden_WhichFoo = &m20_WhichWhichFoo{*b.WhichWhichFoo}
+	}
+	return m0
+}
+
+type case_M20_WhichFoo protoreflect.FieldNumber
+
+func (x case_M20_WhichFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[19].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM20_WhichFoo interface {
+	isM20_WhichFoo()
+}
+
+type m20_WhichWhichFoo struct {
+	WhichWhichFoo int32 `protobuf:"varint,2,opt,name=which_which_foo,json=whichWhichFoo,oneof"`
+}
+
+func (*m20_WhichWhichFoo) isM20_WhichFoo() {}
+
+var File_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto protoreflect.FileDescriptor
+
+var file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_rawDesc = []byte{
+	0x0a, 0x41, 0x63, 0x6d, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e,
+	0x2d, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x6e, 0x61, 0x6d,
+	0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+	0x5f, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x12, 0x26, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
+	0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65,
+	0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x1a, 0x21, 0x67, 0x6f, 0x6f,
+	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x5f,
+	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f,
+	0x0a, 0x02, 0x4d, 0x31, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f,
+	0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12,
+	0x1e, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, 0x65, 0x74, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x22,
+	0x4f, 0x0a, 0x02, 0x4d, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74,
+	0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, 0x65, 0x74, 0x47,
+	0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x10,
+	0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f,
+	0x22, 0x4f, 0x0a, 0x02, 0x4d, 0x33, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f,
+	0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12,
+	0x1e, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, 0x65, 0x74, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12,
+	0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f,
+	0x6f, 0x22, 0x67, 0x0a, 0x02, 0x4d, 0x34, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66,
+	0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f,
+	0x12, 0x27, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f,
+	0x66, 0x6f, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x65, 0x74,
+	0x47, 0x65, 0x74, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x67,
+	0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x64, 0x0a, 0x02, 0x4d, 0x35,
+	0x12, 0x17, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x05, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x65, 0x74,
+	0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00,
+	0x52, 0x09, 0x67, 0x65, 0x74, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x66,
+	0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x42, 0x11, 0x0a,
+	0x0f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f,
+	0x22, 0x67, 0x0a, 0x02, 0x4d, 0x36, 0x12, 0x27, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65,
+	0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48,
+	0x00, 0x52, 0x0c, 0x67, 0x65, 0x74, 0x47, 0x65, 0x74, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12,
+	0x17, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
+	0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x67, 0x65,
+	0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x54, 0x0a, 0x02, 0x4d, 0x37, 0x12,
+	0x12, 0x0a, 0x03, 0x62, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x03,
+	0x62, 0x61, 0x72, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x10,
+	0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f,
+	0x42, 0x0d, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22,
+	0x64, 0x0a, 0x02, 0x4d, 0x38, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74,
+	0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x67, 0x65,
+	0x74, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66,
+	0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f,
+	0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66,
+	0x6f, 0x6f, 0x42, 0x11, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65,
+	0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x66, 0x0a, 0x02, 0x4d, 0x39, 0x12, 0x20, 0x0a, 0x0b, 0x67,
+	0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
+	0x48, 0x00, 0x52, 0x09, 0x67, 0x65, 0x74, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x19, 0x0a,
+	0x07, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00,
+	0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x42, 0x11, 0x0a, 0x0f, 0x67, 0x65,
+	0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x30, 0x0a,
+	0x03, 0x4d, 0x31, 0x30, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x6f,
+	0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x22,
+	0x44, 0x0a, 0x03, 0x4d, 0x31, 0x31, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x5f,
+	0x73, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52,
+	0x09, 0x73, 0x65, 0x74, 0x53, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x73, 0x65,
+	0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x41, 0x0a, 0x03, 0x4d, 0x31, 0x32, 0x12, 0x10, 0x0a, 0x03,
+	0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x19,
+	0x0a, 0x07, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48,
+	0x00, 0x52, 0x06, 0x73, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x65, 0x74,
+	0x5f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x30, 0x0a, 0x03, 0x4d, 0x31, 0x33, 0x12,
+	0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f,
+	0x6f, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x05, 0x52, 0x06, 0x68, 0x61, 0x73, 0x46, 0x6f, 0x6f, 0x22, 0x44, 0x0a, 0x03, 0x4d, 0x31,
+	0x34, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
+	0x66, 0x6f, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x66,
+	0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x68, 0x61, 0x73, 0x48,
+	0x61, 0x73, 0x46, 0x6f, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x5f, 0x66, 0x6f, 0x6f,
+	0x22, 0x41, 0x0a, 0x03, 0x4d, 0x31, 0x35, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x19, 0x0a, 0x07, 0x68, 0x61, 0x73,
+	0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, 0x68, 0x61,
+	0x73, 0x46, 0x6f, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x5f,
+	0x66, 0x6f, 0x6f, 0x22, 0x34, 0x0a, 0x03, 0x4d, 0x31, 0x36, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f,
+	0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x1b, 0x0a, 0x09,
+	0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
+	0x08, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x46, 0x6f, 0x6f, 0x22, 0x4e, 0x0a, 0x03, 0x4d, 0x31, 0x37,
+	0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66,
+	0x6f, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6c, 0x65, 0x61,
+	0x72, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x63,
+	0x6c, 0x65, 0x61, 0x72, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x46, 0x6f, 0x6f, 0x42, 0x0b, 0x0a, 0x09,
+	0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x49, 0x0a, 0x03, 0x4d, 0x31, 0x38,
+	0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66,
+	0x6f, 0x6f, 0x12, 0x1d, 0x0a, 0x09, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x6f, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x46, 0x6f,
+	0x6f, 0x42, 0x11, 0x0a, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72,
+	0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x49, 0x0a, 0x03, 0x4d, 0x31, 0x39, 0x12, 0x10, 0x0a, 0x03, 0x66,
+	0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x1d, 0x0a,
+	0x09, 0x77, 0x68, 0x69, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
+	0x48, 0x00, 0x52, 0x08, 0x77, 0x68, 0x69, 0x63, 0x68, 0x46, 0x6f, 0x6f, 0x42, 0x11, 0x0a, 0x0f,
+	0x77, 0x68, 0x69, 0x63, 0x68, 0x5f, 0x77, 0x68, 0x69, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x6f, 0x22,
+	0x4e, 0x0a, 0x03, 0x4d, 0x32, 0x30, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x77, 0x68, 0x69, 0x63,
+	0x68, 0x5f, 0x77, 0x68, 0x69, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x05, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x68, 0x69, 0x63, 0x68, 0x57, 0x68, 0x69, 0x63, 0x68, 0x46,
+	0x6f, 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x77, 0x68, 0x69, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x6f, 0x42,
+	0x60, 0x5a, 0x56, 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, 0x63, 0x6d,
+	0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f, 0x2f,
+	0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61,
+	0x73, 0x68, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6c, 0x61,
+	0x73, 0x68, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x92, 0x03, 0x05, 0xd2, 0x3e, 0x02, 0x10,
+	0x02, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
+}
+
+var file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
+var file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_goTypes = []any{
+	(*M1)(nil),  // 0: net.proto2.go.testdata.nameclashhybrid.M1
+	(*M2)(nil),  // 1: net.proto2.go.testdata.nameclashhybrid.M2
+	(*M3)(nil),  // 2: net.proto2.go.testdata.nameclashhybrid.M3
+	(*M4)(nil),  // 3: net.proto2.go.testdata.nameclashhybrid.M4
+	(*M5)(nil),  // 4: net.proto2.go.testdata.nameclashhybrid.M5
+	(*M6)(nil),  // 5: net.proto2.go.testdata.nameclashhybrid.M6
+	(*M7)(nil),  // 6: net.proto2.go.testdata.nameclashhybrid.M7
+	(*M8)(nil),  // 7: net.proto2.go.testdata.nameclashhybrid.M8
+	(*M9)(nil),  // 8: net.proto2.go.testdata.nameclashhybrid.M9
+	(*M10)(nil), // 9: net.proto2.go.testdata.nameclashhybrid.M10
+	(*M11)(nil), // 10: net.proto2.go.testdata.nameclashhybrid.M11
+	(*M12)(nil), // 11: net.proto2.go.testdata.nameclashhybrid.M12
+	(*M13)(nil), // 12: net.proto2.go.testdata.nameclashhybrid.M13
+	(*M14)(nil), // 13: net.proto2.go.testdata.nameclashhybrid.M14
+	(*M15)(nil), // 14: net.proto2.go.testdata.nameclashhybrid.M15
+	(*M16)(nil), // 15: net.proto2.go.testdata.nameclashhybrid.M16
+	(*M17)(nil), // 16: net.proto2.go.testdata.nameclashhybrid.M17
+	(*M18)(nil), // 17: net.proto2.go.testdata.nameclashhybrid.M18
+	(*M19)(nil), // 18: net.proto2.go.testdata.nameclashhybrid.M19
+	(*M20)(nil), // 19: net.proto2.go.testdata.nameclashhybrid.M20
+}
+var file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_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_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_init() }
+func file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_init() {
+	if File_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto != nil {
+		return
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[3].OneofWrappers = []any{
+		(*m4_GetGetGetFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[4].OneofWrappers = []any{
+		(*m5_GetGetFoo_)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[5].OneofWrappers = []any{
+		(*m6_GetGetGetFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[6].OneofWrappers = []any{
+		(*m7_Bar)(nil),
+		(*m7_GetFoo_)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[7].OneofWrappers = []any{
+		(*m8_GetGetFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[8].OneofWrappers = []any{
+		(*m9_GetGetFoo)(nil),
+		(*m9_GetFoo_)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[10].OneofWrappers = []any{
+		(*m11_SetSetFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[11].OneofWrappers = []any{
+		(*m12_SetFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[13].OneofWrappers = []any{
+		(*m14_HasHasFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[14].OneofWrappers = []any{
+		(*m15_HasFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[16].OneofWrappers = []any{
+		(*m17_ClearClearFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[17].OneofWrappers = []any{
+		(*m18_ClearFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[18].OneofWrappers = []any{
+		(*m19_WhichFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes[19].OneofWrappers = []any{
+		(*m20_WhichWhichFoo)(nil),
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   20,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_goTypes,
+		DependencyIndexes: file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_depIdxs,
+		MessageInfos:      file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_msgTypes,
+	}.Build()
+	File_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto = out.File
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_rawDesc = nil
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_goTypes = nil
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid_proto_depIdxs = nil
+}
diff --git a/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid3/test_name_clash_hybrid3.pb.go b/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid3/test_name_clash_hybrid3.pb.go
index 5799b17..7faa1cc 100644
--- a/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid3/test_name_clash_hybrid3.pb.go
+++ b/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid3/test_name_clash_hybrid3.pb.go
@@ -24,6 +24,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid3.proto
 
+//go:build !protoopaque
+
 package test_name_clash_hybrid3
 
 import (
diff --git a/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid3/test_name_clash_hybrid3_protoopaque.pb.go b/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid3/test_name_clash_hybrid3_protoopaque.pb.go
new file mode 100644
index 0000000..d3af264
--- /dev/null
+++ b/cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid3/test_name_clash_hybrid3_protoopaque.pb.go
@@ -0,0 +1,3500 @@
+// Copyright 2024 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.
+
+// This proto verifies that we keep the name mangling algorithm (which is
+// position dependent) intact in the protoc_gen_go generator. The field names
+// and the getter names have to be kept intact over time, both in the OPEN and
+// in the HYBRID API. How fields are "mangled" is described in a comment per
+// field.
+
+// The order of "evaluation" of fields is important. Fields are evaluated in
+// order of appearance, except the oneof union names, that are evaluated after
+// their first member. For each field, check if there is a previous field name
+// or getter name that clashes with this field or it's getter. In case there is
+// a clash, add an _ to the field name and repeat. In the case of oneof's, the
+// union will be renamed if it clashes with it's first member, but not if it
+// clashes with it's second.
+
+// This scheme is here for backwards compatibility.
+// The type of clashes that can be are the following:
+// 1 - My field name clashes with their getter name
+// 2 - My getter name clashes with their field name
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: cmd/protoc-gen-go/testdata/nameclash/test_name_clash_hybrid3.proto
+
+//go:build protoopaque
+
+package test_name_clash_hybrid3
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	reflect "reflect"
+)
+
+type M0 struct {
+	state         protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_I1 int32                  `protobuf:"varint,1,opt,name=i1" json:"i1,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *M0) Reset() {
+	*x = M0{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M0) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M0) ProtoMessage() {}
+
+func (x *M0) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_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 *M0) GetI1() int32 {
+	if x != nil {
+		return x.xxx_hidden_I1
+	}
+	return 0
+}
+
+func (x *M0) SetI1(v int32) {
+	x.xxx_hidden_I1 = v
+}
+
+type M0_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	I1 int32
+}
+
+func (b0 M0_builder) Build() *M0 {
+	m0 := &M0{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_I1 = b.I1
+	return m0
+}
+
+type M1 struct {
+	state                protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo       *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_GetFoo_   *M0                    `protobuf:"bytes,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_GetGetFoo *M0                    `protobuf:"bytes,3,opt,name=get_get_foo,json=getGetFoo" json:"get_get_foo,omitempty"`
+	unknownFields        protoimpl.UnknownFields
+	sizeCache            protoimpl.SizeCache
+}
+
+func (x *M1) Reset() {
+	*x = M1{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M1) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M1) ProtoMessage() {}
+
+func (x *M1) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_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 *M1) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M1) GetGetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo_
+	}
+	return nil
+}
+
+func (x *M1) GetGetGetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_GetGetFoo
+	}
+	return nil
+}
+
+func (x *M1) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M1) SetGetFoo(v *M0) {
+	x.xxx_hidden_GetFoo_ = v
+}
+
+func (x *M1) SetGetGetFoo(v *M0) {
+	x.xxx_hidden_GetGetFoo = v
+}
+
+func (x *M1) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M1) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetFoo_ != nil
+}
+
+func (x *M1) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetFoo != nil
+}
+
+func (x *M1) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M1) ClearGetFoo() {
+	x.xxx_hidden_GetFoo_ = nil
+}
+
+func (x *M1) ClearGetGetFoo() {
+	x.xxx_hidden_GetGetFoo = nil
+}
+
+type M1_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Old Scheme:
+	// initial name in Go     | Clashes with field | type | final name
+	// Foo                    | -                  | -    | Foo
+	// GetFoo                 | foo                | 1    | GetFoo_
+	// GetGetFoo              | -                  | -    | GetGetFoo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | -                  | -    | GetGetGetFoo
+	Foo       *M0
+	GetFoo    *M0
+	GetGetFoo *M0
+}
+
+func (b0 M1_builder) Build() *M1 {
+	m0 := &M1{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	x.xxx_hidden_GetFoo_ = b.GetFoo
+	x.xxx_hidden_GetGetFoo = b.GetGetFoo
+	return m0
+}
+
+type M2 struct {
+	state                protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetGetFoo *M0                    `protobuf:"bytes,3,opt,name=get_get_foo,json=getGetFoo" json:"get_get_foo,omitempty"`
+	xxx_hidden_GetFoo_   *M0                    `protobuf:"bytes,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_Foo       *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	unknownFields        protoimpl.UnknownFields
+	sizeCache            protoimpl.SizeCache
+}
+
+func (x *M2) Reset() {
+	*x = M2{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M2) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M2) ProtoMessage() {}
+
+func (x *M2) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_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 *M2) GetGetGetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_GetGetFoo
+	}
+	return nil
+}
+
+func (x *M2) GetGetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo_
+	}
+	return nil
+}
+
+func (x *M2) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M2) SetGetGetFoo(v *M0) {
+	x.xxx_hidden_GetGetFoo = v
+}
+
+func (x *M2) SetGetFoo(v *M0) {
+	x.xxx_hidden_GetFoo_ = v
+}
+
+func (x *M2) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M2) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetFoo != nil
+}
+
+func (x *M2) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetFoo_ != nil
+}
+
+func (x *M2) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M2) ClearGetGetFoo() {
+	x.xxx_hidden_GetGetFoo = nil
+}
+
+func (x *M2) ClearGetFoo() {
+	x.xxx_hidden_GetFoo_ = nil
+}
+
+func (x *M2) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+type M2_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Old Scheme:
+	// initial name in Go     | Clashes with field | type | final name
+	// GetGetFoo              | -                  | -    | GetGetFoo
+	// GetFoo                 | get_get_foo        | 2    | GetFoo_
+	// Foo                    | -                  | -    | Foo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | -                  | -    | GetGetGetFoo
+	GetGetFoo *M0
+	GetFoo    *M0
+	Foo       *M0
+}
+
+func (b0 M2_builder) Build() *M2 {
+	m0 := &M2{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_GetGetFoo = b.GetGetFoo
+	x.xxx_hidden_GetFoo_ = b.GetFoo
+	x.xxx_hidden_Foo = b.Foo
+	return m0
+}
+
+type M3 struct {
+	state                 protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetFoo     *M0                    `protobuf:"bytes,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_GetGetFoo_ *M0                    `protobuf:"bytes,3,opt,name=get_get_foo,json=getGetFoo" json:"get_get_foo,omitempty"`
+	xxx_hidden_Foo_       *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	unknownFields         protoimpl.UnknownFields
+	sizeCache             protoimpl.SizeCache
+}
+
+func (x *M3) Reset() {
+	*x = M3{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M3) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M3) ProtoMessage() {}
+
+func (x *M3) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[3]
+	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 *M3) GetGetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo
+	}
+	return nil
+}
+
+func (x *M3) GetGetGetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_GetGetFoo_
+	}
+	return nil
+}
+
+func (x *M3) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo_
+	}
+	return nil
+}
+
+func (x *M3) SetGetFoo(v *M0) {
+	x.xxx_hidden_GetFoo = v
+}
+
+func (x *M3) SetGetGetFoo(v *M0) {
+	x.xxx_hidden_GetGetFoo_ = v
+}
+
+func (x *M3) SetFoo(v *M0) {
+	x.xxx_hidden_Foo_ = v
+}
+
+func (x *M3) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetFoo != nil
+}
+
+func (x *M3) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetFoo_ != nil
+}
+
+func (x *M3) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo_ != nil
+}
+
+func (x *M3) ClearGetFoo() {
+	x.xxx_hidden_GetFoo = nil
+}
+
+func (x *M3) ClearGetGetFoo() {
+	x.xxx_hidden_GetGetFoo_ = nil
+}
+
+func (x *M3) ClearFoo() {
+	x.xxx_hidden_Foo_ = nil
+}
+
+type M3_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Old Scheme:
+	// initial name in Go     | Clashes with field | type | final name
+	// GetFoo                 | -                  | -    | GetFoo
+	// GetGetFoo              | get_foo            | 1    | GetGetFoo_
+	// Foo                    | get_foo            | 2    | Foo_
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | -                  | -    | GetGetGetFoo
+	GetFoo    *M0
+	GetGetFoo *M0
+	Foo       *M0
+}
+
+func (b0 M3_builder) Build() *M3 {
+	m0 := &M3{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_GetFoo = b.GetFoo
+	x.xxx_hidden_GetGetFoo_ = b.GetGetFoo
+	x.xxx_hidden_Foo_ = b.Foo
+	return m0
+}
+
+type M4 struct {
+	state                 protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetFoo     *M0                    `protobuf:"bytes,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_GetGetFoo_ isM4_GetGetFoo_        `protobuf_oneof:"get_get_foo"`
+	xxx_hidden_Foo_       *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	unknownFields         protoimpl.UnknownFields
+	sizeCache             protoimpl.SizeCache
+}
+
+func (x *M4) Reset() {
+	*x = M4{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M4) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M4) ProtoMessage() {}
+
+func (x *M4) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[4]
+	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 *M4) GetGetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo
+	}
+	return nil
+}
+
+func (x *M4) GetGetGetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetFoo_.(*m4_GetGetGetFoo); ok {
+			return x.GetGetGetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M4) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo_
+	}
+	return nil
+}
+
+func (x *M4) SetGetFoo(v *M0) {
+	x.xxx_hidden_GetFoo = v
+}
+
+func (x *M4) SetGetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetFoo_ = &m4_GetGetGetFoo{v}
+}
+
+func (x *M4) SetFoo(v *M0) {
+	x.xxx_hidden_Foo_ = v
+}
+
+func (x *M4) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetFoo != nil
+}
+
+func (x *M4) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetFoo_ != nil
+}
+
+func (x *M4) HasGetGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetFoo_.(*m4_GetGetGetFoo)
+	return ok
+}
+
+func (x *M4) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo_ != nil
+}
+
+func (x *M4) ClearGetFoo() {
+	x.xxx_hidden_GetFoo = nil
+}
+
+func (x *M4) ClearGetGetFoo() {
+	x.xxx_hidden_GetGetFoo_ = nil
+}
+
+func (x *M4) ClearGetGetGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetFoo_.(*m4_GetGetGetFoo); ok {
+		x.xxx_hidden_GetGetFoo_ = nil
+	}
+}
+
+func (x *M4) ClearFoo() {
+	x.xxx_hidden_Foo_ = nil
+}
+
+const M4_GetGetFoo__not_set_case case_M4_GetGetFoo_ = 0
+const M4_GetGetGetFoo_case case_M4_GetGetFoo_ = 3
+
+func (x *M4) WhichGetGetFoo() case_M4_GetGetFoo_ {
+	if x == nil {
+		return M4_GetGetFoo__not_set_case
+	}
+	switch x.xxx_hidden_GetGetFoo_.(type) {
+	case *m4_GetGetGetFoo:
+		return M4_GetGetGetFoo_case
+	default:
+		return M4_GetGetFoo__not_set_case
+	}
+}
+
+type M4_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Old Scheme:
+	// initial name in Go     | Clashes with field | type | final name
+	// GetFoo                 | -                  | -    | GetFoo
+	// GetGetFoo              | get_foo            | 1    | GetGetFoo_
+	//
+	//	GetGetGetFoo          | -                  | -    | GetGetGetFoo
+	//	                      |                    |      |
+	//
+	// Foo                    | get_foo            | 2    | Foo_
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetGetFoo           | -                  | -    | GetGetGetGetFoo
+	GetFoo *M0
+	// Fields of oneof xxx_hidden_GetGetFoo_:
+	GetGetGetFoo *int32
+	// -- end of xxx_hidden_GetGetFoo_
+	Foo *M0
+}
+
+func (b0 M4_builder) Build() *M4 {
+	m0 := &M4{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_GetFoo = b.GetFoo
+	if b.GetGetGetFoo != nil {
+		x.xxx_hidden_GetGetFoo_ = &m4_GetGetGetFoo{*b.GetGetGetFoo}
+	}
+	x.xxx_hidden_Foo_ = b.Foo
+	return m0
+}
+
+type case_M4_GetGetFoo_ protoreflect.FieldNumber
+
+func (x case_M4_GetGetFoo_) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[4].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM4_GetGetFoo_ interface {
+	isM4_GetGetFoo_()
+}
+
+type m4_GetGetGetFoo struct {
+	GetGetGetFoo int32 `protobuf:"varint,3,opt,name=get_get_get_foo,json=getGetGetFoo,oneof"`
+}
+
+func (*m4_GetGetGetFoo) isM4_GetGetFoo_() {}
+
+type M5 struct {
+	state                   protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetFoo       *M0                    `protobuf:"bytes,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_GetGetGetFoo isM5_GetGetGetFoo      `protobuf_oneof:"get_get_get_foo"`
+	xxx_hidden_Foo_         *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	unknownFields           protoimpl.UnknownFields
+	sizeCache               protoimpl.SizeCache
+}
+
+func (x *M5) Reset() {
+	*x = M5{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M5) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M5) ProtoMessage() {}
+
+func (x *M5) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[5]
+	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 *M5) GetGetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo
+	}
+	return nil
+}
+
+func (x *M5) GetGetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetGetFoo.(*m5_GetGetFoo_); ok {
+			return x.GetGetFoo_
+		}
+	}
+	return 0
+}
+
+func (x *M5) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo_
+	}
+	return nil
+}
+
+func (x *M5) SetGetFoo(v *M0) {
+	x.xxx_hidden_GetFoo = v
+}
+
+func (x *M5) SetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetGetFoo = &m5_GetGetFoo_{v}
+}
+
+func (x *M5) SetFoo(v *M0) {
+	x.xxx_hidden_Foo_ = v
+}
+
+func (x *M5) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetFoo != nil
+}
+
+func (x *M5) HasGetGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetGetFoo != nil
+}
+
+func (x *M5) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetGetFoo.(*m5_GetGetFoo_)
+	return ok
+}
+
+func (x *M5) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo_ != nil
+}
+
+func (x *M5) ClearGetFoo() {
+	x.xxx_hidden_GetFoo = nil
+}
+
+func (x *M5) ClearGetGetGetFoo() {
+	x.xxx_hidden_GetGetGetFoo = nil
+}
+
+func (x *M5) ClearGetGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetGetFoo.(*m5_GetGetFoo_); ok {
+		x.xxx_hidden_GetGetGetFoo = nil
+	}
+}
+
+func (x *M5) ClearFoo() {
+	x.xxx_hidden_Foo_ = nil
+}
+
+const M5_GetGetGetFoo_not_set_case case_M5_GetGetGetFoo = 0
+const M5_GetGetFoo__case case_M5_GetGetGetFoo = 3
+
+func (x *M5) WhichGetGetGetFoo() case_M5_GetGetGetFoo {
+	if x == nil {
+		return M5_GetGetGetFoo_not_set_case
+	}
+	switch x.xxx_hidden_GetGetGetFoo.(type) {
+	case *m5_GetGetFoo_:
+		return M5_GetGetFoo__case
+	default:
+		return M5_GetGetGetFoo_not_set_case
+	}
+}
+
+type M5_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Old Scheme:
+	// Note evaluation order - get_get_foo before get_get_get_foo
+	// initial name in Go     | Clashes with field | type | final name
+	// GetFoo                 | -                  | -    | GetFoo
+	// GetGetGetFoo           | -                  | -    | GetGetGetFoo
+	//
+	//	GetGetFoo             | get_foo            | 1    | GetGetFoo_
+	//	                      |                    |      |
+	//
+	// Foo                    | get_foo            | 2    | Foo_
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | get_get_get_foo    | G    | Get_GetGetFoo
+	GetFoo *M0
+	// Fields of oneof xxx_hidden_GetGetGetFoo:
+	GetGetFoo *int32
+	// -- end of xxx_hidden_GetGetGetFoo
+	Foo *M0
+}
+
+func (b0 M5_builder) Build() *M5 {
+	m0 := &M5{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_GetFoo = b.GetFoo
+	if b.GetGetFoo != nil {
+		x.xxx_hidden_GetGetGetFoo = &m5_GetGetFoo_{*b.GetGetFoo}
+	}
+	x.xxx_hidden_Foo_ = b.Foo
+	return m0
+}
+
+type case_M5_GetGetGetFoo protoreflect.FieldNumber
+
+func (x case_M5_GetGetGetFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[5].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM5_GetGetGetFoo interface {
+	isM5_GetGetGetFoo()
+}
+
+type m5_GetGetFoo_ struct {
+	GetGetFoo_ int32 `protobuf:"varint,3,opt,name=get_get_foo,json=getGetFoo,oneof"`
+}
+
+func (*m5_GetGetFoo_) isM5_GetGetGetFoo() {}
+
+type M6 struct {
+	state                protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetGetFoo isM6_GetGetFoo         `protobuf_oneof:"get_get_foo"`
+	xxx_hidden_GetFoo_   *M0                    `protobuf:"bytes,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_Foo       *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	unknownFields        protoimpl.UnknownFields
+	sizeCache            protoimpl.SizeCache
+}
+
+func (x *M6) Reset() {
+	*x = M6{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M6) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M6) ProtoMessage() {}
+
+func (x *M6) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[6]
+	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 *M6) GetGetGetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetFoo.(*m6_GetGetGetFoo); ok {
+			return x.GetGetGetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M6) GetGetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo_
+	}
+	return nil
+}
+
+func (x *M6) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M6) SetGetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetFoo = &m6_GetGetGetFoo{v}
+}
+
+func (x *M6) SetGetFoo(v *M0) {
+	x.xxx_hidden_GetFoo_ = v
+}
+
+func (x *M6) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M6) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetFoo != nil
+}
+
+func (x *M6) HasGetGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetFoo.(*m6_GetGetGetFoo)
+	return ok
+}
+
+func (x *M6) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetFoo_ != nil
+}
+
+func (x *M6) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M6) ClearGetGetFoo() {
+	x.xxx_hidden_GetGetFoo = nil
+}
+
+func (x *M6) ClearGetGetGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetFoo.(*m6_GetGetGetFoo); ok {
+		x.xxx_hidden_GetGetFoo = nil
+	}
+}
+
+func (x *M6) ClearGetFoo() {
+	x.xxx_hidden_GetFoo_ = nil
+}
+
+func (x *M6) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+const M6_GetGetFoo_not_set_case case_M6_GetGetFoo = 0
+const M6_GetGetGetFoo_case case_M6_GetGetFoo = 3
+
+func (x *M6) WhichGetGetFoo() case_M6_GetGetFoo {
+	if x == nil {
+		return M6_GetGetFoo_not_set_case
+	}
+	switch x.xxx_hidden_GetGetFoo.(type) {
+	case *m6_GetGetGetFoo:
+		return M6_GetGetGetFoo_case
+	default:
+		return M6_GetGetFoo_not_set_case
+	}
+}
+
+type M6_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Note evaluation order - get_get_get_foo before get_get_foo
+	// initial name in Go     | Clashes with field | type | final name
+	// GetGetFoo              | -                  | -    | GetGetFoo
+	//  GetGetGetFoo          | -                  | -    | GetGetGetFoo
+	//                        |                    |      |
+	// GetFoo                 | get_get_foo        | 2    | GetFoo_
+	// Foo                    | -                  | -    | Foo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetGetFoo           | -                  | -    | GetGetGetGetFoo
+
+	// Fields of oneof xxx_hidden_GetGetFoo:
+	GetGetGetFoo *int32
+	// -- end of xxx_hidden_GetGetFoo
+	GetFoo *M0
+	Foo    *M0
+}
+
+func (b0 M6_builder) Build() *M6 {
+	m0 := &M6{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.GetGetGetFoo != nil {
+		x.xxx_hidden_GetGetFoo = &m6_GetGetGetFoo{*b.GetGetGetFoo}
+	}
+	x.xxx_hidden_GetFoo_ = b.GetFoo
+	x.xxx_hidden_Foo = b.Foo
+	return m0
+}
+
+type case_M6_GetGetFoo protoreflect.FieldNumber
+
+func (x case_M6_GetGetFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[6].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM6_GetGetFoo interface {
+	isM6_GetGetFoo()
+}
+
+type m6_GetGetGetFoo struct {
+	GetGetGetFoo int32 `protobuf:"varint,3,opt,name=get_get_get_foo,json=getGetGetFoo,oneof"`
+}
+
+func (*m6_GetGetGetFoo) isM6_GetGetFoo() {}
+
+type M7 struct {
+	state                protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetGetFoo isM7_GetGetFoo         `protobuf_oneof:"get_get_foo"`
+	xxx_hidden_Foo       *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	unknownFields        protoimpl.UnknownFields
+	sizeCache            protoimpl.SizeCache
+}
+
+func (x *M7) Reset() {
+	*x = M7{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M7) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M7) ProtoMessage() {}
+
+func (x *M7) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[7]
+	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 *M7) GetBar() bool {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetFoo.(*m7_Bar); ok {
+			return x.Bar
+		}
+	}
+	return false
+}
+
+func (x *M7) GetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetFoo.(*m7_GetFoo_); ok {
+			return x.GetFoo_
+		}
+	}
+	return 0
+}
+
+func (x *M7) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M7) SetBar(v bool) {
+	x.xxx_hidden_GetGetFoo = &m7_Bar{v}
+}
+
+func (x *M7) SetGetFoo(v int32) {
+	x.xxx_hidden_GetGetFoo = &m7_GetFoo_{v}
+}
+
+func (x *M7) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M7) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetFoo != nil
+}
+
+func (x *M7) HasBar() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetFoo.(*m7_Bar)
+	return ok
+}
+
+func (x *M7) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetFoo.(*m7_GetFoo_)
+	return ok
+}
+
+func (x *M7) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M7) ClearGetGetFoo() {
+	x.xxx_hidden_GetGetFoo = nil
+}
+
+func (x *M7) ClearBar() {
+	if _, ok := x.xxx_hidden_GetGetFoo.(*m7_Bar); ok {
+		x.xxx_hidden_GetGetFoo = nil
+	}
+}
+
+func (x *M7) ClearGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetFoo.(*m7_GetFoo_); ok {
+		x.xxx_hidden_GetGetFoo = nil
+	}
+}
+
+func (x *M7) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+const M7_GetGetFoo_not_set_case case_M7_GetGetFoo = 0
+const M7_Bar_case case_M7_GetGetFoo = 4
+const M7_GetFoo__case case_M7_GetGetFoo = 3
+
+func (x *M7) WhichGetGetFoo() case_M7_GetGetFoo {
+	if x == nil {
+		return M7_GetGetFoo_not_set_case
+	}
+	switch x.xxx_hidden_GetGetFoo.(type) {
+	case *m7_Bar:
+		return M7_Bar_case
+	case *m7_GetFoo_:
+		return M7_GetFoo__case
+	default:
+		return M7_GetGetFoo_not_set_case
+	}
+}
+
+type M7_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Note evaluation order - bar before get_get_foo, then get_get_get_foo
+	// initial name in Go     | Clashes with field | type | final name
+	// GetGetFoo              | -                  | -    | GetGetFoo
+	//  Bar                   | -                  | -    | Bar
+	//  GetFoo                | foo                | 1    | GetFoo_
+	//                        |                    |      |
+	// Foo                    | -                  | -    | Foo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// Bar                    | -                  | -    | GetBar
+
+	// Fields of oneof xxx_hidden_GetGetFoo:
+	Bar    *bool
+	GetFoo *int32
+	// -- end of xxx_hidden_GetGetFoo
+	Foo *M0
+}
+
+func (b0 M7_builder) Build() *M7 {
+	m0 := &M7{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Bar != nil {
+		x.xxx_hidden_GetGetFoo = &m7_Bar{*b.Bar}
+	}
+	if b.GetFoo != nil {
+		x.xxx_hidden_GetGetFoo = &m7_GetFoo_{*b.GetFoo}
+	}
+	x.xxx_hidden_Foo = b.Foo
+	return m0
+}
+
+type case_M7_GetGetFoo protoreflect.FieldNumber
+
+func (x case_M7_GetGetFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[7].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM7_GetGetFoo interface {
+	isM7_GetGetFoo()
+}
+
+type m7_Bar struct {
+	Bar bool `protobuf:"varint,4,opt,name=bar,oneof"`
+}
+
+type m7_GetFoo_ struct {
+	GetFoo_ int32 `protobuf:"varint,3,opt,name=get_foo,json=getFoo,oneof"`
+}
+
+func (*m7_Bar) isM7_GetGetFoo() {}
+
+func (*m7_GetFoo_) isM7_GetGetFoo() {}
+
+type M8 struct {
+	state                    protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetGetGetFoo_ isM8_GetGetGetFoo_     `protobuf_oneof:"get_get_get_foo"`
+	xxx_hidden_GetFoo_       *M0                    `protobuf:"bytes,2,opt,name=get_foo,json=getFoo" json:"get_foo,omitempty"`
+	xxx_hidden_Foo           *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	unknownFields            protoimpl.UnknownFields
+	sizeCache                protoimpl.SizeCache
+}
+
+func (x *M8) Reset() {
+	*x = M8{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M8) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M8) ProtoMessage() {}
+
+func (x *M8) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[8]
+	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 *M8) GetGetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetGetFoo_.(*m8_GetGetFoo); ok {
+			return x.GetGetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M8) GetGetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_GetFoo_
+	}
+	return nil
+}
+
+func (x *M8) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M8) SetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetGetFoo_ = &m8_GetGetFoo{v}
+}
+
+func (x *M8) SetGetFoo(v *M0) {
+	x.xxx_hidden_GetFoo_ = v
+}
+
+func (x *M8) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M8) HasGetGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetGetFoo_ != nil
+}
+
+func (x *M8) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetGetFoo_.(*m8_GetGetFoo)
+	return ok
+}
+
+func (x *M8) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetFoo_ != nil
+}
+
+func (x *M8) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M8) ClearGetGetGetFoo() {
+	x.xxx_hidden_GetGetGetFoo_ = nil
+}
+
+func (x *M8) ClearGetGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetGetFoo_.(*m8_GetGetFoo); ok {
+		x.xxx_hidden_GetGetGetFoo_ = nil
+	}
+}
+
+func (x *M8) ClearGetFoo() {
+	x.xxx_hidden_GetFoo_ = nil
+}
+
+func (x *M8) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+const M8_GetGetGetFoo__not_set_case case_M8_GetGetGetFoo_ = 0
+const M8_GetGetFoo_case case_M8_GetGetGetFoo_ = 3
+
+func (x *M8) WhichGetGetGetFoo() case_M8_GetGetGetFoo_ {
+	if x == nil {
+		return M8_GetGetGetFoo__not_set_case
+	}
+	switch x.xxx_hidden_GetGetGetFoo_.(type) {
+	case *m8_GetGetFoo:
+		return M8_GetGetFoo_case
+	default:
+		return M8_GetGetGetFoo__not_set_case
+	}
+}
+
+type M8_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Note evaluation order - get_get_foo before get_get_get_foo
+	// initial name in Go     | Clashes with field | type | final name
+	// GetGetGetFoo           | get_get_foo        | 1    | GetGetGetFoo_
+	//  GetGetFoo             | -                  | -    | GetGetFoo
+	//                        |                    |      |
+	// GetFoo                 | get_get_foo        | 2    | GetFoo_
+	// Foo                    | -                  | -    | Foo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | get_get_get_foo    | G    | Get_GetGetFoo
+
+	// Fields of oneof xxx_hidden_GetGetGetFoo_:
+	GetGetFoo *int32
+	// -- end of xxx_hidden_GetGetGetFoo_
+	GetFoo *M0
+	Foo    *M0
+}
+
+func (b0 M8_builder) Build() *M8 {
+	m0 := &M8{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.GetGetFoo != nil {
+		x.xxx_hidden_GetGetGetFoo_ = &m8_GetGetFoo{*b.GetGetFoo}
+	}
+	x.xxx_hidden_GetFoo_ = b.GetFoo
+	x.xxx_hidden_Foo = b.Foo
+	return m0
+}
+
+type case_M8_GetGetGetFoo_ protoreflect.FieldNumber
+
+func (x case_M8_GetGetGetFoo_) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[8].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM8_GetGetGetFoo_ interface {
+	isM8_GetGetGetFoo_()
+}
+
+type m8_GetGetFoo struct {
+	GetGetFoo int32 `protobuf:"varint,3,opt,name=get_get_foo,json=getGetFoo,oneof"`
+}
+
+func (*m8_GetGetFoo) isM8_GetGetGetFoo_() {}
+
+type M9 struct {
+	state                    protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_GetGetGetFoo_ isM9_GetGetGetFoo_     `protobuf_oneof:"get_get_get_foo"`
+	xxx_hidden_Foo           *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	unknownFields            protoimpl.UnknownFields
+	sizeCache                protoimpl.SizeCache
+}
+
+func (x *M9) Reset() {
+	*x = M9{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M9) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M9) ProtoMessage() {}
+
+func (x *M9) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[9]
+	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 *M9) GetGetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetGetFoo); ok {
+			return x.GetGetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M9) GetGetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetFoo_); ok {
+			return x.GetFoo_
+		}
+	}
+	return 0
+}
+
+func (x *M9) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M9) SetGetGetFoo(v int32) {
+	x.xxx_hidden_GetGetGetFoo_ = &m9_GetGetFoo{v}
+}
+
+func (x *M9) SetGetFoo(v int32) {
+	x.xxx_hidden_GetGetGetFoo_ = &m9_GetFoo_{v}
+}
+
+func (x *M9) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M9) HasGetGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_GetGetGetFoo_ != nil
+}
+
+func (x *M9) HasGetGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetGetFoo)
+	return ok
+}
+
+func (x *M9) HasGetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetFoo_)
+	return ok
+}
+
+func (x *M9) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M9) ClearGetGetGetFoo() {
+	x.xxx_hidden_GetGetGetFoo_ = nil
+}
+
+func (x *M9) ClearGetGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetGetFoo); ok {
+		x.xxx_hidden_GetGetGetFoo_ = nil
+	}
+}
+
+func (x *M9) ClearGetFoo() {
+	if _, ok := x.xxx_hidden_GetGetGetFoo_.(*m9_GetFoo_); ok {
+		x.xxx_hidden_GetGetGetFoo_ = nil
+	}
+}
+
+func (x *M9) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+const M9_GetGetGetFoo__not_set_case case_M9_GetGetGetFoo_ = 0
+const M9_GetGetFoo_case case_M9_GetGetGetFoo_ = 3
+const M9_GetFoo__case case_M9_GetGetGetFoo_ = 2
+
+func (x *M9) WhichGetGetGetFoo() case_M9_GetGetGetFoo_ {
+	if x == nil {
+		return M9_GetGetGetFoo__not_set_case
+	}
+	switch x.xxx_hidden_GetGetGetFoo_.(type) {
+	case *m9_GetGetFoo:
+		return M9_GetGetFoo_case
+	case *m9_GetFoo_:
+		return M9_GetFoo__case
+	default:
+		return M9_GetGetGetFoo__not_set_case
+	}
+}
+
+type M9_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Note evaluation order - get_get_foo before get_get_get_foo, then get_foo
+	// initial name in Go     | Clashes with field | type | final name
+	// GetGetGetFoo           | get_get_foo        | 1    | GetGetGetFoo_
+	//  GetGetFoo             | -                  | -    | GetGetFoo
+	//  GetFoo                | get_get_foo        | 2    | GetFoo_
+	//                        |                    |      |
+	// Foo                    | -                  | -    | Foo
+	// New Scheme:
+	// initial name in Go     | Clashes with field | type | Getter name
+	// Foo                    | get_foo            | G    | Get_Foo
+	// GetFoo                 | get_get_foo        | G    | Get_GetFoo
+	// GetGetFoo              | get_get_get_foo    | G    | Get_GetGetFoo
+
+	// Fields of oneof xxx_hidden_GetGetGetFoo_:
+	GetGetFoo *int32
+	GetFoo    *int32
+	// -- end of xxx_hidden_GetGetGetFoo_
+	Foo *M0
+}
+
+func (b0 M9_builder) Build() *M9 {
+	m0 := &M9{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.GetGetFoo != nil {
+		x.xxx_hidden_GetGetGetFoo_ = &m9_GetGetFoo{*b.GetGetFoo}
+	}
+	if b.GetFoo != nil {
+		x.xxx_hidden_GetGetGetFoo_ = &m9_GetFoo_{*b.GetFoo}
+	}
+	x.xxx_hidden_Foo = b.Foo
+	return m0
+}
+
+type case_M9_GetGetGetFoo_ protoreflect.FieldNumber
+
+func (x case_M9_GetGetGetFoo_) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[9].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM9_GetGetGetFoo_ interface {
+	isM9_GetGetGetFoo_()
+}
+
+type m9_GetGetFoo struct {
+	GetGetFoo int32 `protobuf:"varint,3,opt,name=get_get_foo,json=getGetFoo,oneof"`
+}
+
+type m9_GetFoo_ struct {
+	GetFoo_ int32 `protobuf:"varint,2,opt,name=get_foo,json=getFoo,oneof"`
+}
+
+func (*m9_GetGetFoo) isM9_GetGetGetFoo_() {}
+
+func (*m9_GetFoo_) isM9_GetGetGetFoo_() {}
+
+type M10 struct {
+	state             protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo    *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_SetFoo *M0                    `protobuf:"bytes,2,opt,name=set_foo,json=setFoo" json:"set_foo,omitempty"`
+	unknownFields     protoimpl.UnknownFields
+	sizeCache         protoimpl.SizeCache
+}
+
+func (x *M10) Reset() {
+	*x = M10{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[10]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M10) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M10) ProtoMessage() {}
+
+func (x *M10) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[10]
+	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 *M10) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M10) GetSetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_SetFoo
+	}
+	return nil
+}
+
+func (x *M10) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M10) SetSetFoo(v *M0) {
+	x.xxx_hidden_SetFoo = v
+}
+
+func (x *M10) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M10) HasSetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_SetFoo != nil
+}
+
+func (x *M10) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M10) ClearSetFoo() {
+	x.xxx_hidden_SetFoo = nil
+}
+
+type M10_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Set Clashes - no concerns with get-mangling as legacy open struct
+	// does not have setters except for weak fields:
+	// initial name in Go     | Clashes with field | Setter name
+	// Foo                    | set_foo            | Set_Foo
+	// SetFoo                 | -                  | SetSetFoo
+	Foo    *M0
+	SetFoo *M0
+}
+
+func (b0 M10_builder) Build() *M10 {
+	m0 := &M10{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	x.xxx_hidden_SetFoo = b.SetFoo
+	return m0
+}
+
+type M11 struct {
+	state             protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo    *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_SetFoo isM11_SetFoo           `protobuf_oneof:"set_foo"`
+	unknownFields     protoimpl.UnknownFields
+	sizeCache         protoimpl.SizeCache
+}
+
+func (x *M11) Reset() {
+	*x = M11{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[11]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M11) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M11) ProtoMessage() {}
+
+func (x *M11) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[11]
+	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 *M11) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M11) GetSetSetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_SetFoo.(*m11_SetSetFoo); ok {
+			return x.SetSetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M11) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M11) SetSetSetFoo(v int32) {
+	x.xxx_hidden_SetFoo = &m11_SetSetFoo{v}
+}
+
+func (x *M11) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M11) HasSetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_SetFoo != nil
+}
+
+func (x *M11) HasSetSetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_SetFoo.(*m11_SetSetFoo)
+	return ok
+}
+
+func (x *M11) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M11) ClearSetFoo() {
+	x.xxx_hidden_SetFoo = nil
+}
+
+func (x *M11) ClearSetSetFoo() {
+	if _, ok := x.xxx_hidden_SetFoo.(*m11_SetSetFoo); ok {
+		x.xxx_hidden_SetFoo = nil
+	}
+}
+
+const M11_SetFoo_not_set_case case_M11_SetFoo = 0
+const M11_SetSetFoo_case case_M11_SetFoo = 2
+
+func (x *M11) WhichSetFoo() case_M11_SetFoo {
+	if x == nil {
+		return M11_SetFoo_not_set_case
+	}
+	switch x.xxx_hidden_SetFoo.(type) {
+	case *m11_SetSetFoo:
+		return M11_SetSetFoo_case
+	default:
+		return M11_SetFoo_not_set_case
+	}
+}
+
+type M11_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Set Clashes - no concerns with get-mangling as legacy open struct
+	// does not have setters except for weak fields:
+	// initial name in Go     | Clashes with field | Setter name
+	// Foo                    | set_foo            | Set_Foo
+	// SetSetFoo              | -                  | SetSetSetFoo
+	Foo *M0
+	// Fields of oneof xxx_hidden_SetFoo:
+	SetSetFoo *int32
+	// -- end of xxx_hidden_SetFoo
+}
+
+func (b0 M11_builder) Build() *M11 {
+	m0 := &M11{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	if b.SetSetFoo != nil {
+		x.xxx_hidden_SetFoo = &m11_SetSetFoo{*b.SetSetFoo}
+	}
+	return m0
+}
+
+type case_M11_SetFoo protoreflect.FieldNumber
+
+func (x case_M11_SetFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[11].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM11_SetFoo interface {
+	isM11_SetFoo()
+}
+
+type m11_SetSetFoo struct {
+	SetSetFoo int32 `protobuf:"varint,2,opt,name=set_set_foo,json=setSetFoo,oneof"`
+}
+
+func (*m11_SetSetFoo) isM11_SetFoo() {}
+
+type M12 struct {
+	state                protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo       *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_SetSetFoo isM12_SetSetFoo        `protobuf_oneof:"set_set_foo"`
+	unknownFields        protoimpl.UnknownFields
+	sizeCache            protoimpl.SizeCache
+}
+
+func (x *M12) Reset() {
+	*x = M12{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[12]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M12) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M12) ProtoMessage() {}
+
+func (x *M12) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[12]
+	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 *M12) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M12) GetSetFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_SetSetFoo.(*m12_SetFoo); ok {
+			return x.SetFoo
+		}
+	}
+	return 0
+}
+
+func (x *M12) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M12) SetSetFoo(v int32) {
+	x.xxx_hidden_SetSetFoo = &m12_SetFoo{v}
+}
+
+func (x *M12) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M12) HasSetSetFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_SetSetFoo != nil
+}
+
+func (x *M12) HasSetFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_SetSetFoo.(*m12_SetFoo)
+	return ok
+}
+
+func (x *M12) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M12) ClearSetSetFoo() {
+	x.xxx_hidden_SetSetFoo = nil
+}
+
+func (x *M12) ClearSetFoo() {
+	if _, ok := x.xxx_hidden_SetSetFoo.(*m12_SetFoo); ok {
+		x.xxx_hidden_SetSetFoo = nil
+	}
+}
+
+const M12_SetSetFoo_not_set_case case_M12_SetSetFoo = 0
+const M12_SetFoo_case case_M12_SetSetFoo = 2
+
+func (x *M12) WhichSetSetFoo() case_M12_SetSetFoo {
+	if x == nil {
+		return M12_SetSetFoo_not_set_case
+	}
+	switch x.xxx_hidden_SetSetFoo.(type) {
+	case *m12_SetFoo:
+		return M12_SetFoo_case
+	default:
+		return M12_SetSetFoo_not_set_case
+	}
+}
+
+type M12_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Set Clashes - no concerns with get-mangling as legacy open struct
+	// does not have setters except for weak fields:
+	// initial name in Go     | Clashes with field | Setter name
+	// Foo                    | set_foo            | Set_Foo
+	// SetFoo                 | set_set_foo        | Set_SetFoo
+	Foo *M0
+	// Fields of oneof xxx_hidden_SetSetFoo:
+	SetFoo *int32
+	// -- end of xxx_hidden_SetSetFoo
+}
+
+func (b0 M12_builder) Build() *M12 {
+	m0 := &M12{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	if b.SetFoo != nil {
+		x.xxx_hidden_SetSetFoo = &m12_SetFoo{*b.SetFoo}
+	}
+	return m0
+}
+
+type case_M12_SetSetFoo protoreflect.FieldNumber
+
+func (x case_M12_SetSetFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[12].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM12_SetSetFoo interface {
+	isM12_SetSetFoo()
+}
+
+type m12_SetFoo struct {
+	SetFoo int32 `protobuf:"varint,2,opt,name=set_foo,json=setFoo,oneof"`
+}
+
+func (*m12_SetFoo) isM12_SetSetFoo() {}
+
+type M13 struct {
+	state             protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo    *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_HasFoo *M0                    `protobuf:"bytes,2,opt,name=has_foo,json=hasFoo" json:"has_foo,omitempty"`
+	unknownFields     protoimpl.UnknownFields
+	sizeCache         protoimpl.SizeCache
+}
+
+func (x *M13) Reset() {
+	*x = M13{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[13]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M13) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M13) ProtoMessage() {}
+
+func (x *M13) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[13]
+	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 *M13) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M13) GetHasFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_HasFoo
+	}
+	return nil
+}
+
+func (x *M13) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M13) SetHasFoo(v *M0) {
+	x.xxx_hidden_HasFoo = v
+}
+
+func (x *M13) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M13) HasHasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_HasFoo != nil
+}
+
+func (x *M13) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M13) ClearHasFoo() {
+	x.xxx_hidden_HasFoo = nil
+}
+
+type M13_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Has Clashes - no concerns with get-mangling as legacy open struct
+	// does not have hassers except for weak fields:
+	// initial name in Go     | Clashes with field | Hasser name
+	// Foo                    | has_foo            | Has_Foo
+	// HasFoo                 | -                  | HasHasFoo
+	Foo    *M0
+	HasFoo *M0
+}
+
+func (b0 M13_builder) Build() *M13 {
+	m0 := &M13{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	x.xxx_hidden_HasFoo = b.HasFoo
+	return m0
+}
+
+type M14 struct {
+	state             protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo    *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_HasFoo isM14_HasFoo           `protobuf_oneof:"has_foo"`
+	unknownFields     protoimpl.UnknownFields
+	sizeCache         protoimpl.SizeCache
+}
+
+func (x *M14) Reset() {
+	*x = M14{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[14]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M14) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M14) ProtoMessage() {}
+
+func (x *M14) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[14]
+	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 *M14) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M14) GetHasHasFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_HasFoo.(*m14_HasHasFoo); ok {
+			return x.HasHasFoo
+		}
+	}
+	return 0
+}
+
+func (x *M14) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M14) SetHasHasFoo(v int32) {
+	x.xxx_hidden_HasFoo = &m14_HasHasFoo{v}
+}
+
+func (x *M14) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M14) HasHasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_HasFoo != nil
+}
+
+func (x *M14) HasHasHasFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_HasFoo.(*m14_HasHasFoo)
+	return ok
+}
+
+func (x *M14) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M14) ClearHasFoo() {
+	x.xxx_hidden_HasFoo = nil
+}
+
+func (x *M14) ClearHasHasFoo() {
+	if _, ok := x.xxx_hidden_HasFoo.(*m14_HasHasFoo); ok {
+		x.xxx_hidden_HasFoo = nil
+	}
+}
+
+const M14_HasFoo_not_set_case case_M14_HasFoo = 0
+const M14_HasHasFoo_case case_M14_HasFoo = 2
+
+func (x *M14) WhichHasFoo() case_M14_HasFoo {
+	if x == nil {
+		return M14_HasFoo_not_set_case
+	}
+	switch x.xxx_hidden_HasFoo.(type) {
+	case *m14_HasHasFoo:
+		return M14_HasHasFoo_case
+	default:
+		return M14_HasFoo_not_set_case
+	}
+}
+
+type M14_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Has Clashes - no concerns with get-mangling as legacy open struct
+	// does not have hassers except for weak fields:
+	// initial name in Go     | Clashes with field | Hasser name
+	// Foo                    | has_foo            | Has_Foo
+	// HasFoo                 | has_has_foo        | Has_HasFoo
+	// HasHasFoo              | -                  | HasHasHasFoo
+	Foo *M0
+	// Fields of oneof xxx_hidden_HasFoo:
+	HasHasFoo *int32
+	// -- end of xxx_hidden_HasFoo
+}
+
+func (b0 M14_builder) Build() *M14 {
+	m0 := &M14{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	if b.HasHasFoo != nil {
+		x.xxx_hidden_HasFoo = &m14_HasHasFoo{*b.HasHasFoo}
+	}
+	return m0
+}
+
+type case_M14_HasFoo protoreflect.FieldNumber
+
+func (x case_M14_HasFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[14].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM14_HasFoo interface {
+	isM14_HasFoo()
+}
+
+type m14_HasHasFoo struct {
+	HasHasFoo int32 `protobuf:"varint,2,opt,name=has_has_foo,json=hasHasFoo,oneof"`
+}
+
+func (*m14_HasHasFoo) isM14_HasFoo() {}
+
+type M15 struct {
+	state                protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo       *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_HasHasFoo isM15_HasHasFoo        `protobuf_oneof:"has_has_foo"`
+	unknownFields        protoimpl.UnknownFields
+	sizeCache            protoimpl.SizeCache
+}
+
+func (x *M15) Reset() {
+	*x = M15{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[15]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M15) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M15) ProtoMessage() {}
+
+func (x *M15) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[15]
+	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 *M15) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M15) GetHasFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_HasHasFoo.(*m15_HasFoo); ok {
+			return x.HasFoo
+		}
+	}
+	return 0
+}
+
+func (x *M15) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M15) SetHasFoo(v int32) {
+	x.xxx_hidden_HasHasFoo = &m15_HasFoo{v}
+}
+
+func (x *M15) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M15) HasHasHasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_HasHasFoo != nil
+}
+
+func (x *M15) HasHasFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_HasHasFoo.(*m15_HasFoo)
+	return ok
+}
+
+func (x *M15) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M15) ClearHasHasFoo() {
+	x.xxx_hidden_HasHasFoo = nil
+}
+
+func (x *M15) ClearHasFoo() {
+	if _, ok := x.xxx_hidden_HasHasFoo.(*m15_HasFoo); ok {
+		x.xxx_hidden_HasHasFoo = nil
+	}
+}
+
+const M15_HasHasFoo_not_set_case case_M15_HasHasFoo = 0
+const M15_HasFoo_case case_M15_HasHasFoo = 2
+
+func (x *M15) WhichHasHasFoo() case_M15_HasHasFoo {
+	if x == nil {
+		return M15_HasHasFoo_not_set_case
+	}
+	switch x.xxx_hidden_HasHasFoo.(type) {
+	case *m15_HasFoo:
+		return M15_HasFoo_case
+	default:
+		return M15_HasHasFoo_not_set_case
+	}
+}
+
+type M15_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Has Clashes - no concerns with get-mangling as legacy open struct
+	// does not have hassers except for weak fields:
+	// initial name in Go     | Clashes with field | Hasser name
+	// Foo                    | has_foo            | Has_Foo
+	// HasFoo                 | has_has_foo        | Has_HasFoo
+	// HasHasFoo              | -                  | HasHasHasFoo
+	Foo *M0
+	// Fields of oneof xxx_hidden_HasHasFoo:
+	HasFoo *int32
+	// -- end of xxx_hidden_HasHasFoo
+}
+
+func (b0 M15_builder) Build() *M15 {
+	m0 := &M15{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	if b.HasFoo != nil {
+		x.xxx_hidden_HasHasFoo = &m15_HasFoo{*b.HasFoo}
+	}
+	return m0
+}
+
+type case_M15_HasHasFoo protoreflect.FieldNumber
+
+func (x case_M15_HasHasFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[15].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM15_HasHasFoo interface {
+	isM15_HasHasFoo()
+}
+
+type m15_HasFoo struct {
+	HasFoo int32 `protobuf:"varint,2,opt,name=has_foo,json=hasFoo,oneof"`
+}
+
+func (*m15_HasFoo) isM15_HasHasFoo() {}
+
+type M16 struct {
+	state               protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo      *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_ClearFoo *M0                    `protobuf:"bytes,2,opt,name=clear_foo,json=clearFoo" json:"clear_foo,omitempty"`
+	unknownFields       protoimpl.UnknownFields
+	sizeCache           protoimpl.SizeCache
+}
+
+func (x *M16) Reset() {
+	*x = M16{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[16]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M16) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M16) ProtoMessage() {}
+
+func (x *M16) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[16]
+	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 *M16) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M16) GetClearFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_ClearFoo
+	}
+	return nil
+}
+
+func (x *M16) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M16) SetClearFoo(v *M0) {
+	x.xxx_hidden_ClearFoo = v
+}
+
+func (x *M16) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M16) HasClearFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_ClearFoo != nil
+}
+
+func (x *M16) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M16) ClearClearFoo() {
+	x.xxx_hidden_ClearFoo = nil
+}
+
+type M16_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Clear Clashes - no concerns with get-mangling as legacy open
+	// struct does not have clearers except for weak fields:
+	// initial name in Go     | Clashes with field | Clearer name
+	// Foo                    | clear_foo            | Clear_Foo
+	// ClearFoo               | -                  | ClearClearFoo
+	Foo      *M0
+	ClearFoo *M0
+}
+
+func (b0 M16_builder) Build() *M16 {
+	m0 := &M16{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	x.xxx_hidden_ClearFoo = b.ClearFoo
+	return m0
+}
+
+type M17 struct {
+	state               protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo      *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_ClearFoo isM17_ClearFoo         `protobuf_oneof:"clear_foo"`
+	unknownFields       protoimpl.UnknownFields
+	sizeCache           protoimpl.SizeCache
+}
+
+func (x *M17) Reset() {
+	*x = M17{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[17]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M17) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M17) ProtoMessage() {}
+
+func (x *M17) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[17]
+	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 *M17) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M17) GetClearClearFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_ClearFoo.(*m17_ClearClearFoo); ok {
+			return x.ClearClearFoo
+		}
+	}
+	return 0
+}
+
+func (x *M17) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M17) SetClearClearFoo(v int32) {
+	x.xxx_hidden_ClearFoo = &m17_ClearClearFoo{v}
+}
+
+func (x *M17) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M17) HasClearFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_ClearFoo != nil
+}
+
+func (x *M17) HasClearClearFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_ClearFoo.(*m17_ClearClearFoo)
+	return ok
+}
+
+func (x *M17) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M17) ClearClearFoo() {
+	x.xxx_hidden_ClearFoo = nil
+}
+
+func (x *M17) ClearClearClearFoo() {
+	if _, ok := x.xxx_hidden_ClearFoo.(*m17_ClearClearFoo); ok {
+		x.xxx_hidden_ClearFoo = nil
+	}
+}
+
+const M17_ClearFoo_not_set_case case_M17_ClearFoo = 0
+const M17_ClearClearFoo_case case_M17_ClearFoo = 2
+
+func (x *M17) WhichClearFoo() case_M17_ClearFoo {
+	if x == nil {
+		return M17_ClearFoo_not_set_case
+	}
+	switch x.xxx_hidden_ClearFoo.(type) {
+	case *m17_ClearClearFoo:
+		return M17_ClearClearFoo_case
+	default:
+		return M17_ClearFoo_not_set_case
+	}
+}
+
+type M17_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Clear Clashes - no concerns with get-mangling as legacy open
+	// struct does not have clearers except for weak fields:
+	// initial name in Go     | Clashes with field | Clearer name
+	// Foo                    | clear_foo          | Clear_Foo
+	// ClearFoo               | clear_clear_foo    | Clear_ClearFoo
+	// ClearClearFoo          | -                  | ClearClearClearFoo
+	Foo *M0
+	// Fields of oneof xxx_hidden_ClearFoo:
+	ClearClearFoo *int32
+	// -- end of xxx_hidden_ClearFoo
+}
+
+func (b0 M17_builder) Build() *M17 {
+	m0 := &M17{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	if b.ClearClearFoo != nil {
+		x.xxx_hidden_ClearFoo = &m17_ClearClearFoo{*b.ClearClearFoo}
+	}
+	return m0
+}
+
+type case_M17_ClearFoo protoreflect.FieldNumber
+
+func (x case_M17_ClearFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[17].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM17_ClearFoo interface {
+	isM17_ClearFoo()
+}
+
+type m17_ClearClearFoo struct {
+	ClearClearFoo int32 `protobuf:"varint,2,opt,name=clear_clear_foo,json=clearClearFoo,oneof"`
+}
+
+func (*m17_ClearClearFoo) isM17_ClearFoo() {}
+
+type M18 struct {
+	state                    protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo           *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_ClearClearFoo isM18_ClearClearFoo    `protobuf_oneof:"clear_clear_foo"`
+	unknownFields            protoimpl.UnknownFields
+	sizeCache                protoimpl.SizeCache
+}
+
+func (x *M18) Reset() {
+	*x = M18{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[18]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M18) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M18) ProtoMessage() {}
+
+func (x *M18) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[18]
+	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 *M18) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M18) GetClearFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_ClearClearFoo.(*m18_ClearFoo); ok {
+			return x.ClearFoo
+		}
+	}
+	return 0
+}
+
+func (x *M18) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M18) SetClearFoo(v int32) {
+	x.xxx_hidden_ClearClearFoo = &m18_ClearFoo{v}
+}
+
+func (x *M18) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M18) HasClearClearFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_ClearClearFoo != nil
+}
+
+func (x *M18) HasClearFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_ClearClearFoo.(*m18_ClearFoo)
+	return ok
+}
+
+func (x *M18) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M18) ClearClearClearFoo() {
+	x.xxx_hidden_ClearClearFoo = nil
+}
+
+func (x *M18) ClearClearFoo() {
+	if _, ok := x.xxx_hidden_ClearClearFoo.(*m18_ClearFoo); ok {
+		x.xxx_hidden_ClearClearFoo = nil
+	}
+}
+
+const M18_ClearClearFoo_not_set_case case_M18_ClearClearFoo = 0
+const M18_ClearFoo_case case_M18_ClearClearFoo = 2
+
+func (x *M18) WhichClearClearFoo() case_M18_ClearClearFoo {
+	if x == nil {
+		return M18_ClearClearFoo_not_set_case
+	}
+	switch x.xxx_hidden_ClearClearFoo.(type) {
+	case *m18_ClearFoo:
+		return M18_ClearFoo_case
+	default:
+		return M18_ClearClearFoo_not_set_case
+	}
+}
+
+type M18_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Clear Clashes - no concerns with get-mangling as legacy open
+	// struct does not have clearers except for weak fields:
+	// initial name in Go     | Clashes with field | Clearer name
+	// Foo                    | clear_foo          | Clear_Foo
+	// ClearFoo               | clear_clear_foo    | Clear_ClearFoo
+	// ClearClearFoo          | -                  | ClearClearClearFoo
+	Foo *M0
+	// Fields of oneof xxx_hidden_ClearClearFoo:
+	ClearFoo *int32
+	// -- end of xxx_hidden_ClearClearFoo
+}
+
+func (b0 M18_builder) Build() *M18 {
+	m0 := &M18{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	if b.ClearFoo != nil {
+		x.xxx_hidden_ClearClearFoo = &m18_ClearFoo{*b.ClearFoo}
+	}
+	return m0
+}
+
+type case_M18_ClearClearFoo protoreflect.FieldNumber
+
+func (x case_M18_ClearClearFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[18].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM18_ClearClearFoo interface {
+	isM18_ClearClearFoo()
+}
+
+type m18_ClearFoo struct {
+	ClearFoo int32 `protobuf:"varint,2,opt,name=clear_foo,json=clearFoo,oneof"`
+}
+
+func (*m18_ClearFoo) isM18_ClearClearFoo() {}
+
+type M19 struct {
+	state                    protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo           *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_WhichWhichFoo isM19_WhichWhichFoo    `protobuf_oneof:"which_which_foo"`
+	unknownFields            protoimpl.UnknownFields
+	sizeCache                protoimpl.SizeCache
+}
+
+func (x *M19) Reset() {
+	*x = M19{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[19]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M19) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M19) ProtoMessage() {}
+
+func (x *M19) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[19]
+	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 *M19) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M19) GetWhichFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_WhichWhichFoo.(*m19_WhichFoo); ok {
+			return x.WhichFoo
+		}
+	}
+	return 0
+}
+
+func (x *M19) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M19) SetWhichFoo(v int32) {
+	x.xxx_hidden_WhichWhichFoo = &m19_WhichFoo{v}
+}
+
+func (x *M19) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M19) HasWhichWhichFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_WhichWhichFoo != nil
+}
+
+func (x *M19) HasWhichFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_WhichWhichFoo.(*m19_WhichFoo)
+	return ok
+}
+
+func (x *M19) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M19) ClearWhichWhichFoo() {
+	x.xxx_hidden_WhichWhichFoo = nil
+}
+
+func (x *M19) ClearWhichFoo() {
+	if _, ok := x.xxx_hidden_WhichWhichFoo.(*m19_WhichFoo); ok {
+		x.xxx_hidden_WhichWhichFoo = nil
+	}
+}
+
+const M19_WhichWhichFoo_not_set_case case_M19_WhichWhichFoo = 0
+const M19_WhichFoo_case case_M19_WhichWhichFoo = 2
+
+func (x *M19) WhichWhichWhichFoo() case_M19_WhichWhichFoo {
+	if x == nil {
+		return M19_WhichWhichFoo_not_set_case
+	}
+	switch x.xxx_hidden_WhichWhichFoo.(type) {
+	case *m19_WhichFoo:
+		return M19_WhichFoo_case
+	default:
+		return M19_WhichWhichFoo_not_set_case
+	}
+}
+
+type M19_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Which Clashes - no concerns with get-mangling as legacy open
+	// struct does not have whichers except for weak fields:
+	// initial name in Go     | Clashes with field | Whicher name
+	// Foo                    | -                  | -
+	// WhichFoo               | -                  | -
+	// WhichWhichFoo          | -                  | WhichWhichWhichFoo
+	Foo *M0
+	// Fields of oneof xxx_hidden_WhichWhichFoo:
+	WhichFoo *int32
+	// -- end of xxx_hidden_WhichWhichFoo
+}
+
+func (b0 M19_builder) Build() *M19 {
+	m0 := &M19{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	if b.WhichFoo != nil {
+		x.xxx_hidden_WhichWhichFoo = &m19_WhichFoo{*b.WhichFoo}
+	}
+	return m0
+}
+
+type case_M19_WhichWhichFoo protoreflect.FieldNumber
+
+func (x case_M19_WhichWhichFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[19].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM19_WhichWhichFoo interface {
+	isM19_WhichWhichFoo()
+}
+
+type m19_WhichFoo struct {
+	WhichFoo int32 `protobuf:"varint,2,opt,name=which_foo,json=whichFoo,oneof"`
+}
+
+func (*m19_WhichFoo) isM19_WhichWhichFoo() {}
+
+type M20 struct {
+	state               protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Foo      *M0                    `protobuf:"bytes,1,opt,name=foo" json:"foo,omitempty"`
+	xxx_hidden_WhichFoo isM20_WhichFoo         `protobuf_oneof:"which_foo"`
+	unknownFields       protoimpl.UnknownFields
+	sizeCache           protoimpl.SizeCache
+}
+
+func (x *M20) Reset() {
+	*x = M20{}
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[20]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *M20) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*M20) ProtoMessage() {}
+
+func (x *M20) ProtoReflect() protoreflect.Message {
+	mi := &file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[20]
+	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 *M20) GetFoo() *M0 {
+	if x != nil {
+		return x.xxx_hidden_Foo
+	}
+	return nil
+}
+
+func (x *M20) GetWhichWhichFoo() int32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_WhichFoo.(*m20_WhichWhichFoo); ok {
+			return x.WhichWhichFoo
+		}
+	}
+	return 0
+}
+
+func (x *M20) SetFoo(v *M0) {
+	x.xxx_hidden_Foo = v
+}
+
+func (x *M20) SetWhichWhichFoo(v int32) {
+	x.xxx_hidden_WhichFoo = &m20_WhichWhichFoo{v}
+}
+
+func (x *M20) HasFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Foo != nil
+}
+
+func (x *M20) HasWhichFoo() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_WhichFoo != nil
+}
+
+func (x *M20) HasWhichWhichFoo() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_WhichFoo.(*m20_WhichWhichFoo)
+	return ok
+}
+
+func (x *M20) ClearFoo() {
+	x.xxx_hidden_Foo = nil
+}
+
+func (x *M20) ClearWhichFoo() {
+	x.xxx_hidden_WhichFoo = nil
+}
+
+func (x *M20) ClearWhichWhichFoo() {
+	if _, ok := x.xxx_hidden_WhichFoo.(*m20_WhichWhichFoo); ok {
+		x.xxx_hidden_WhichFoo = nil
+	}
+}
+
+const M20_WhichFoo_not_set_case case_M20_WhichFoo = 0
+const M20_WhichWhichFoo_case case_M20_WhichFoo = 2
+
+func (x *M20) WhichWhichFoo() case_M20_WhichFoo {
+	if x == nil {
+		return M20_WhichFoo_not_set_case
+	}
+	switch x.xxx_hidden_WhichFoo.(type) {
+	case *m20_WhichWhichFoo:
+		return M20_WhichWhichFoo_case
+	default:
+		return M20_WhichFoo_not_set_case
+	}
+}
+
+type M20_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	// Which Clashes - no concerns with get-mangling as legacy open
+	// struct does not have whichers except for weak fields:
+	// initial name in Go     | Clashes with field | Whicher name
+	// Foo                    | -                  | -
+	// WhichFoo               | which_which_foo    | Which_WhichFoo
+	// WhichWhichFoo          | -                  | -
+	Foo *M0
+	// Fields of oneof xxx_hidden_WhichFoo:
+	WhichWhichFoo *int32
+	// -- end of xxx_hidden_WhichFoo
+}
+
+func (b0 M20_builder) Build() *M20 {
+	m0 := &M20{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Foo = b.Foo
+	if b.WhichWhichFoo != nil {
+		x.xxx_hidden_WhichFoo = &m20_WhichWhichFoo{*b.WhichWhichFoo}
+	}
+	return m0
+}
+
+type case_M20_WhichFoo protoreflect.FieldNumber
+
+func (x case_M20_WhichFoo) String() string {
+	md := file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[20].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isM20_WhichFoo interface {
+	isM20_WhichFoo()
+}
+
+type m20_WhichWhichFoo struct {
+	WhichWhichFoo int32 `protobuf:"varint,2,opt,name=which_which_foo,json=whichWhichFoo,oneof"`
+}
+
+func (*m20_WhichWhichFoo) isM20_WhichFoo() {}
+
+var File_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto protoreflect.FileDescriptor
+
+var file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_rawDesc = []byte{
+	0x0a, 0x42, 0x63, 0x6d, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e,
+	0x2d, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x6e, 0x61, 0x6d,
+	0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+	0x5f, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
+	0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d,
+	0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x1a, 0x21, 0x67,
+	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67,
+	0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x22, 0x14, 0x0a, 0x02, 0x4d, 0x30, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x31, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x05, 0x52, 0x02, 0x69, 0x31, 0x22, 0xd6, 0x01, 0x0a, 0x02, 0x4d, 0x31, 0x12, 0x3d, 0x0a,
+	0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64,
+	0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x44, 0x0a, 0x07,
+	0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
+	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65,
+	0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46,
+	0x6f, 0x6f, 0x12, 0x4b, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f,
+	0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61,
+	0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x33, 0x2e, 0x4d, 0x30, 0x52, 0x09, 0x67, 0x65, 0x74, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x22,
+	0xd6, 0x01, 0x0a, 0x02, 0x4d, 0x32, 0x12, 0x4b, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65,
+	0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65,
+	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
+	0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79,
+	0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x09, 0x67, 0x65, 0x74, 0x47, 0x65, 0x74,
+	0x46, 0x6f, 0x6f, 0x12, 0x44, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61,
+	0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d,
+	0x30, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x3d, 0x0a, 0x03, 0x66, 0x6f, 0x6f,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e,
+	0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33,
+	0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x22, 0xd6, 0x01, 0x0a, 0x02, 0x4d, 0x33, 0x12,
+	0x44, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f,
+	0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c,
+	0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x06, 0x67,
+	0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x4b, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74,
+	0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64,
+	0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x09, 0x67, 0x65, 0x74, 0x47, 0x65, 0x74, 0x46,
+	0x6f, 0x6f, 0x12, 0x3d, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e,
+	0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61,
+	0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f,
+	0x6f, 0x22, 0xc1, 0x01, 0x0a, 0x02, 0x4d, 0x34, 0x12, 0x44, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f,
+	0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61,
+	0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x27,
+	0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f,
+	0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x65, 0x74, 0x47, 0x65,
+	0x74, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x3d, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61,
+	0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d,
+	0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65,
+	0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0xbe, 0x01, 0x0a, 0x02, 0x4d, 0x35, 0x12, 0x44, 0x0a, 0x07,
+	0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
+	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65,
+	0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46,
+	0x6f, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f,
+	0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x67, 0x65, 0x74, 0x47, 0x65,
+	0x74, 0x46, 0x6f, 0x6f, 0x12, 0x3d, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
+	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63,
+	0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03,
+	0x66, 0x6f, 0x6f, 0x42, 0x11, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x67,
+	0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0xc1, 0x01, 0x0a, 0x02, 0x4d, 0x36, 0x12, 0x27, 0x0a,
+	0x0f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f,
+	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x65, 0x74, 0x47, 0x65, 0x74,
+	0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x44, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f,
+	0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61,
+	0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x33, 0x2e, 0x4d, 0x30, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x3d, 0x0a, 0x03,
+	0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61,
+	0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x67,
+	0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x02, 0x4d,
+	0x37, 0x12, 0x12, 0x0a, 0x03, 0x62, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00,
+	0x52, 0x03, 0x62, 0x61, 0x72, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f,
+	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f,
+	0x12, 0x3d, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
+	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65,
+	0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x42,
+	0x0d, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0xbe,
+	0x01, 0x0a, 0x02, 0x4d, 0x38, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74,
+	0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x67, 0x65,
+	0x74, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x44, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x66,
+	0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74,
+	0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69,
+	0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x06, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x3d, 0x0a,
+	0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64,
+	0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x42, 0x11, 0x0a, 0x0f,
+	0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22,
+	0x93, 0x01, 0x0a, 0x02, 0x4d, 0x39, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65,
+	0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x67,
+	0x65, 0x74, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f,
+	0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, 0x67, 0x65, 0x74,
+	0x46, 0x6f, 0x6f, 0x12, 0x3d, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f,
+	0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c,
+	0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66,
+	0x6f, 0x6f, 0x42, 0x11, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x65,
+	0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x03, 0x4d, 0x31, 0x30, 0x12, 0x3d, 0x0a,
+	0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64,
+	0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x44, 0x0a, 0x07,
+	0x73, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
+	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65,
+	0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x06, 0x73, 0x65, 0x74, 0x46,
+	0x6f, 0x6f, 0x22, 0x71, 0x0a, 0x03, 0x4d, 0x31, 0x31, 0x12, 0x3d, 0x0a, 0x03, 0x66, 0x6f, 0x6f,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e,
+	0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33,
+	0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x5f,
+	0x73, 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52,
+	0x09, 0x73, 0x65, 0x74, 0x53, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x73, 0x65,
+	0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x6e, 0x0a, 0x03, 0x4d, 0x31, 0x32, 0x12, 0x3d, 0x0a, 0x03,
+	0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61,
+	0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x19, 0x0a, 0x07, 0x73,
+	0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06,
+	0x73, 0x65, 0x74, 0x46, 0x6f, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65,
+	0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x03, 0x4d, 0x31, 0x33, 0x12, 0x3d, 0x0a,
+	0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64,
+	0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x44, 0x0a, 0x07,
+	0x68, 0x61, 0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
+	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65,
+	0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x06, 0x68, 0x61, 0x73, 0x46,
+	0x6f, 0x6f, 0x22, 0x71, 0x0a, 0x03, 0x4d, 0x31, 0x34, 0x12, 0x3d, 0x0a, 0x03, 0x66, 0x6f, 0x6f,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e,
+	0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33,
+	0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f,
+	0x68, 0x61, 0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52,
+	0x09, 0x68, 0x61, 0x73, 0x48, 0x61, 0x73, 0x46, 0x6f, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x68, 0x61,
+	0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x6e, 0x0a, 0x03, 0x4d, 0x31, 0x35, 0x12, 0x3d, 0x0a, 0x03,
+	0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61,
+	0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x19, 0x0a, 0x07, 0x68,
+	0x61, 0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06,
+	0x68, 0x61, 0x73, 0x46, 0x6f, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x68, 0x61,
+	0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x03, 0x4d, 0x31, 0x36, 0x12, 0x3d, 0x0a,
+	0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64,
+	0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x48, 0x0a, 0x09,
+	0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e,
+	0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61,
+	0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x08, 0x63, 0x6c,
+	0x65, 0x61, 0x72, 0x46, 0x6f, 0x6f, 0x22, 0x7b, 0x0a, 0x03, 0x4d, 0x31, 0x37, 0x12, 0x3d, 0x0a,
+	0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64,
+	0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x28, 0x0a, 0x0f,
+	0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x6f, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x6c,
+	0x65, 0x61, 0x72, 0x46, 0x6f, 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f,
+	0x66, 0x6f, 0x6f, 0x22, 0x76, 0x0a, 0x03, 0x4d, 0x31, 0x38, 0x12, 0x3d, 0x0a, 0x03, 0x66, 0x6f,
+	0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61,
+	0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x1d, 0x0a, 0x09, 0x63, 0x6c, 0x65,
+	0x61, 0x72, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08,
+	0x63, 0x6c, 0x65, 0x61, 0x72, 0x46, 0x6f, 0x6f, 0x42, 0x11, 0x0a, 0x0f, 0x63, 0x6c, 0x65, 0x61,
+	0x72, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x6f, 0x22, 0x76, 0x0a, 0x03, 0x4d,
+	0x31, 0x39, 0x12, 0x3d, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e,
+	0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61,
+	0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f,
+	0x6f, 0x12, 0x1d, 0x0a, 0x09, 0x77, 0x68, 0x69, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x77, 0x68, 0x69, 0x63, 0x68, 0x46, 0x6f, 0x6f,
+	0x42, 0x11, 0x0a, 0x0f, 0x77, 0x68, 0x69, 0x63, 0x68, 0x5f, 0x77, 0x68, 0x69, 0x63, 0x68, 0x5f,
+	0x66, 0x6f, 0x6f, 0x22, 0x7b, 0x0a, 0x03, 0x4d, 0x32, 0x30, 0x12, 0x3d, 0x0a, 0x03, 0x66, 0x6f,
+	0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61,
+	0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x68, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x33, 0x2e, 0x4d, 0x30, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x77, 0x68, 0x69,
+	0x63, 0x68, 0x5f, 0x77, 0x68, 0x69, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x68, 0x69, 0x63, 0x68, 0x57, 0x68, 0x69, 0x63, 0x68,
+	0x46, 0x6f, 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x77, 0x68, 0x69, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x6f,
+	0x42, 0x63, 0x5a, 0x57, 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, 0x63,
+	0x6d, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f,
+	0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x6c,
+	0x61, 0x73, 0x68, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6c,
+	0x61, 0x73, 0x68, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x33, 0x92, 0x03, 0x07, 0xd2, 0x3e,
+	0x02, 0x10, 0x02, 0x08, 0x02, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70,
+	0xe8, 0x07,
+}
+
+var file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
+var file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_goTypes = []any{
+	(*M0)(nil),  // 0: net.proto2.go.testdata.nameclashhybrid3.M0
+	(*M1)(nil),  // 1: net.proto2.go.testdata.nameclashhybrid3.M1
+	(*M2)(nil),  // 2: net.proto2.go.testdata.nameclashhybrid3.M2
+	(*M3)(nil),  // 3: net.proto2.go.testdata.nameclashhybrid3.M3
+	(*M4)(nil),  // 4: net.proto2.go.testdata.nameclashhybrid3.M4
+	(*M5)(nil),  // 5: net.proto2.go.testdata.nameclashhybrid3.M5
+	(*M6)(nil),  // 6: net.proto2.go.testdata.nameclashhybrid3.M6
+	(*M7)(nil),  // 7: net.proto2.go.testdata.nameclashhybrid3.M7
+	(*M8)(nil),  // 8: net.proto2.go.testdata.nameclashhybrid3.M8
+	(*M9)(nil),  // 9: net.proto2.go.testdata.nameclashhybrid3.M9
+	(*M10)(nil), // 10: net.proto2.go.testdata.nameclashhybrid3.M10
+	(*M11)(nil), // 11: net.proto2.go.testdata.nameclashhybrid3.M11
+	(*M12)(nil), // 12: net.proto2.go.testdata.nameclashhybrid3.M12
+	(*M13)(nil), // 13: net.proto2.go.testdata.nameclashhybrid3.M13
+	(*M14)(nil), // 14: net.proto2.go.testdata.nameclashhybrid3.M14
+	(*M15)(nil), // 15: net.proto2.go.testdata.nameclashhybrid3.M15
+	(*M16)(nil), // 16: net.proto2.go.testdata.nameclashhybrid3.M16
+	(*M17)(nil), // 17: net.proto2.go.testdata.nameclashhybrid3.M17
+	(*M18)(nil), // 18: net.proto2.go.testdata.nameclashhybrid3.M18
+	(*M19)(nil), // 19: net.proto2.go.testdata.nameclashhybrid3.M19
+	(*M20)(nil), // 20: net.proto2.go.testdata.nameclashhybrid3.M20
+}
+var file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_depIdxs = []int32{
+	0,  // 0: net.proto2.go.testdata.nameclashhybrid3.M1.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 1: net.proto2.go.testdata.nameclashhybrid3.M1.get_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 2: net.proto2.go.testdata.nameclashhybrid3.M1.get_get_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 3: net.proto2.go.testdata.nameclashhybrid3.M2.get_get_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 4: net.proto2.go.testdata.nameclashhybrid3.M2.get_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 5: net.proto2.go.testdata.nameclashhybrid3.M2.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 6: net.proto2.go.testdata.nameclashhybrid3.M3.get_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 7: net.proto2.go.testdata.nameclashhybrid3.M3.get_get_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 8: net.proto2.go.testdata.nameclashhybrid3.M3.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 9: net.proto2.go.testdata.nameclashhybrid3.M4.get_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 10: net.proto2.go.testdata.nameclashhybrid3.M4.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 11: net.proto2.go.testdata.nameclashhybrid3.M5.get_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 12: net.proto2.go.testdata.nameclashhybrid3.M5.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 13: net.proto2.go.testdata.nameclashhybrid3.M6.get_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 14: net.proto2.go.testdata.nameclashhybrid3.M6.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 15: net.proto2.go.testdata.nameclashhybrid3.M7.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 16: net.proto2.go.testdata.nameclashhybrid3.M8.get_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 17: net.proto2.go.testdata.nameclashhybrid3.M8.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 18: net.proto2.go.testdata.nameclashhybrid3.M9.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 19: net.proto2.go.testdata.nameclashhybrid3.M10.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 20: net.proto2.go.testdata.nameclashhybrid3.M10.set_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 21: net.proto2.go.testdata.nameclashhybrid3.M11.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 22: net.proto2.go.testdata.nameclashhybrid3.M12.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 23: net.proto2.go.testdata.nameclashhybrid3.M13.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 24: net.proto2.go.testdata.nameclashhybrid3.M13.has_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 25: net.proto2.go.testdata.nameclashhybrid3.M14.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 26: net.proto2.go.testdata.nameclashhybrid3.M15.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 27: net.proto2.go.testdata.nameclashhybrid3.M16.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 28: net.proto2.go.testdata.nameclashhybrid3.M16.clear_foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 29: net.proto2.go.testdata.nameclashhybrid3.M17.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 30: net.proto2.go.testdata.nameclashhybrid3.M18.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 31: net.proto2.go.testdata.nameclashhybrid3.M19.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	0,  // 32: net.proto2.go.testdata.nameclashhybrid3.M20.foo:type_name -> net.proto2.go.testdata.nameclashhybrid3.M0
+	33, // [33:33] is the sub-list for method output_type
+	33, // [33:33] is the sub-list for method input_type
+	33, // [33:33] is the sub-list for extension type_name
+	33, // [33:33] is the sub-list for extension extendee
+	0,  // [0:33] is the sub-list for field type_name
+}
+
+func init() { file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_init() }
+func file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_init() {
+	if File_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto != nil {
+		return
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[4].OneofWrappers = []any{
+		(*m4_GetGetGetFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[5].OneofWrappers = []any{
+		(*m5_GetGetFoo_)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[6].OneofWrappers = []any{
+		(*m6_GetGetGetFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[7].OneofWrappers = []any{
+		(*m7_Bar)(nil),
+		(*m7_GetFoo_)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[8].OneofWrappers = []any{
+		(*m8_GetGetFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[9].OneofWrappers = []any{
+		(*m9_GetGetFoo)(nil),
+		(*m9_GetFoo_)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[11].OneofWrappers = []any{
+		(*m11_SetSetFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[12].OneofWrappers = []any{
+		(*m12_SetFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[14].OneofWrappers = []any{
+		(*m14_HasHasFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[15].OneofWrappers = []any{
+		(*m15_HasFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[17].OneofWrappers = []any{
+		(*m17_ClearClearFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[18].OneofWrappers = []any{
+		(*m18_ClearFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[19].OneofWrappers = []any{
+		(*m19_WhichFoo)(nil),
+	}
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes[20].OneofWrappers = []any{
+		(*m20_WhichWhichFoo)(nil),
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   21,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_goTypes,
+		DependencyIndexes: file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_depIdxs,
+		MessageInfos:      file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_msgTypes,
+	}.Build()
+	File_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto = out.File
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_rawDesc = nil
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_goTypes = nil
+	file_cmd_protoc_gen_go_testdata_nameclash_test_name_clash_hybrid3_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/enums/enums_hybrid/enums.hybrid.pb.go b/internal/testprotos/enums/enums_hybrid/enums.hybrid.pb.go
index e55e5bc..229100c 100644
--- a/internal/testprotos/enums/enums_hybrid/enums.hybrid.pb.go
+++ b/internal/testprotos/enums/enums_hybrid/enums.hybrid.pb.go
@@ -5,6 +5,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: internal/testprotos/enums/enums_hybrid/enums.hybrid.proto
 
+//go:build !protoopaque
+
 package enums_hybrid
 
 import (
diff --git a/internal/testprotos/enums/enums_hybrid/enums.hybrid_protoopaque.pb.go b/internal/testprotos/enums/enums_hybrid/enums.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..2b5fdd1
--- /dev/null
+++ b/internal/testprotos/enums/enums_hybrid/enums.hybrid_protoopaque.pb.go
@@ -0,0 +1,140 @@
+// Copyright 2021 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/enums/enums_hybrid/enums.hybrid.proto
+
+//go:build protoopaque
+
+package enums_hybrid
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	reflect "reflect"
+)
+
+type Enum int32
+
+const (
+	Enum_DEFAULT     Enum = 1337
+	Enum_ZERO        Enum = 0
+	Enum_ONE         Enum = 1
+	Enum_ELEVENT     Enum = 11
+	Enum_SEVENTEEN   Enum = 17
+	Enum_THIRTYSEVEN Enum = 37
+	Enum_SIXTYSEVEN  Enum = 67
+	Enum_NEGATIVE    Enum = -1
+)
+
+// Enum value maps for Enum.
+var (
+	Enum_name = map[int32]string{
+		1337: "DEFAULT",
+		0:    "ZERO",
+		1:    "ONE",
+		11:   "ELEVENT",
+		17:   "SEVENTEEN",
+		37:   "THIRTYSEVEN",
+		67:   "SIXTYSEVEN",
+		-1:   "NEGATIVE",
+	}
+	Enum_value = map[string]int32{
+		"DEFAULT":     1337,
+		"ZERO":        0,
+		"ONE":         1,
+		"ELEVENT":     11,
+		"SEVENTEEN":   17,
+		"THIRTYSEVEN": 37,
+		"SIXTYSEVEN":  67,
+		"NEGATIVE":    -1,
+	}
+)
+
+func (x Enum) Enum() *Enum {
+	p := new(Enum)
+	*p = x
+	return p
+}
+
+func (x Enum) String() string {
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (Enum) Descriptor() protoreflect.EnumDescriptor {
+	return file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_enumTypes[0].Descriptor()
+}
+
+func (Enum) Type() protoreflect.EnumType {
+	return &file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_enumTypes[0]
+}
+
+func (x Enum) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+var File_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_rawDesc = []byte{
+	0x0a, 0x39, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d,
+	0x73, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 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, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x1a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74,
+	0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x7b, 0x0a, 0x04, 0x45, 0x6e,
+	0x75, 0x6d, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xb9, 0x0a,
+	0x12, 0x08, 0x0a, 0x04, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x4e,
+	0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4c, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x0b,
+	0x12, 0x0d, 0x0a, 0x09, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x45, 0x45, 0x4e, 0x10, 0x11, 0x12,
+	0x0f, 0x0a, 0x0b, 0x54, 0x48, 0x49, 0x52, 0x54, 0x59, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x10, 0x25,
+	0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x49, 0x58, 0x54, 0x59, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x10, 0x43,
+	0x12, 0x15, 0x0a, 0x08, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0xff, 0xff, 0xff,
+	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x42, 0x4d, 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, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f,
+	0x65, 0x6e, 0x75, 0x6d, 0x73, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x92, 0x03, 0x07, 0xd2,
+	0x3e, 0x02, 0x10, 0x02, 0x10, 0x02, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x70, 0xe8, 0x07,
+}
+
+var file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_goTypes = []any{
+	(Enum)(0), // 0: hybrid.goproto.proto.enums.Enum
+}
+var file_internal_testprotos_enums_enums_hybrid_enums_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_enums_enums_hybrid_enums_hybrid_proto_init() }
+func file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_init() {
+	if File_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto != nil {
+		return
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_rawDesc,
+			NumEnums:      1,
+			NumMessages:   0,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_goTypes,
+		DependencyIndexes: file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_depIdxs,
+		EnumInfos:         file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_enumTypes,
+	}.Build()
+	File_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto = out.File
+	file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_rawDesc = nil
+	file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_goTypes = nil
+	file_internal_testprotos_enums_enums_hybrid_enums_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/lazy/lazy_hybrid/lazy_tree.hybrid.pb.go b/internal/testprotos/lazy/lazy_hybrid/lazy_tree.hybrid.pb.go
index 4c43901..4c843a7 100644
--- a/internal/testprotos/lazy/lazy_hybrid/lazy_tree.hybrid.pb.go
+++ b/internal/testprotos/lazy/lazy_hybrid/lazy_tree.hybrid.pb.go
@@ -5,6 +5,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: internal/testprotos/lazy/lazy_hybrid/lazy_tree.hybrid.proto
 
+//go:build !protoopaque
+
 package lazy_hybrid
 
 import (
diff --git a/internal/testprotos/lazy/lazy_hybrid/lazy_tree.hybrid_protoopaque.pb.go b/internal/testprotos/lazy/lazy_hybrid/lazy_tree.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..8122f99
--- /dev/null
+++ b/internal/testprotos/lazy/lazy_hybrid/lazy_tree.hybrid_protoopaque.pb.go
@@ -0,0 +1,643 @@
+// Copyright 2024 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/lazy/lazy_hybrid/lazy_tree.hybrid.proto
+
+//go:build protoopaque
+
+package lazy_hybrid
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	reflect "reflect"
+)
+
+type Node struct {
+	state               protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Nested   *Node                  `protobuf:"bytes,99,opt,name=nested" json:"nested,omitempty"`
+	xxx_hidden_Int32    int32                  `protobuf:"varint,1,opt,name=int32" json:"int32,omitempty"`
+	xxx_hidden_Int64    int64                  `protobuf:"varint,2,opt,name=int64" json:"int64,omitempty"`
+	xxx_hidden_Uint32   uint32                 `protobuf:"varint,3,opt,name=uint32" json:"uint32,omitempty"`
+	xxx_hidden_Uint64   uint64                 `protobuf:"varint,4,opt,name=uint64" json:"uint64,omitempty"`
+	xxx_hidden_Sint32   int32                  `protobuf:"zigzag32,5,opt,name=sint32" json:"sint32,omitempty"`
+	xxx_hidden_Sint64   int64                  `protobuf:"zigzag64,6,opt,name=sint64" json:"sint64,omitempty"`
+	xxx_hidden_Fixed32  uint32                 `protobuf:"fixed32,7,opt,name=fixed32" json:"fixed32,omitempty"`
+	xxx_hidden_Fixed64  uint64                 `protobuf:"fixed64,8,opt,name=fixed64" json:"fixed64,omitempty"`
+	xxx_hidden_Sfixed32 int32                  `protobuf:"fixed32,9,opt,name=sfixed32" json:"sfixed32,omitempty"`
+	xxx_hidden_Sfixed64 int64                  `protobuf:"fixed64,10,opt,name=sfixed64" json:"sfixed64,omitempty"`
+	xxx_hidden_Float    float32                `protobuf:"fixed32,11,opt,name=float" json:"float,omitempty"`
+	xxx_hidden_Double   float64                `protobuf:"fixed64,12,opt,name=double" json:"double,omitempty"`
+	xxx_hidden_Bool     bool                   `protobuf:"varint,13,opt,name=bool" json:"bool,omitempty"`
+	xxx_hidden_String_  *string                `protobuf:"bytes,14,opt,name=string" json:"string,omitempty"`
+	xxx_hidden_Bytes    []byte                 `protobuf:"bytes,15,opt,name=bytes" json:"bytes,omitempty"`
+	// Deprecated: Do not use. This will be deleted in the near future.
+	XXX_lazyUnmarshalInfo  protoimpl.LazyUnmarshalInfo
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Node) Reset() {
+	*x = Node{}
+	mi := &file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Node) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Node) ProtoMessage() {}
+
+func (x *Node) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_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 *Node) GetNested() *Node {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 0) {
+			if protoimpl.X.AtomicCheckPointerIsNil(&x.xxx_hidden_Nested) {
+				protoimpl.X.UnmarshalField(x, 99)
+			}
+			var rv *Node
+			protoimpl.X.AtomicLoadPointer(protoimpl.Pointer(&x.xxx_hidden_Nested), protoimpl.Pointer(&rv))
+			return rv
+		}
+	}
+	return nil
+}
+
+func (x *Node) GetInt32() int32 {
+	if x != nil {
+		return x.xxx_hidden_Int32
+	}
+	return 0
+}
+
+func (x *Node) GetInt64() int64 {
+	if x != nil {
+		return x.xxx_hidden_Int64
+	}
+	return 0
+}
+
+func (x *Node) GetUint32() uint32 {
+	if x != nil {
+		return x.xxx_hidden_Uint32
+	}
+	return 0
+}
+
+func (x *Node) GetUint64() uint64 {
+	if x != nil {
+		return x.xxx_hidden_Uint64
+	}
+	return 0
+}
+
+func (x *Node) GetSint32() int32 {
+	if x != nil {
+		return x.xxx_hidden_Sint32
+	}
+	return 0
+}
+
+func (x *Node) GetSint64() int64 {
+	if x != nil {
+		return x.xxx_hidden_Sint64
+	}
+	return 0
+}
+
+func (x *Node) GetFixed32() uint32 {
+	if x != nil {
+		return x.xxx_hidden_Fixed32
+	}
+	return 0
+}
+
+func (x *Node) GetFixed64() uint64 {
+	if x != nil {
+		return x.xxx_hidden_Fixed64
+	}
+	return 0
+}
+
+func (x *Node) GetSfixed32() int32 {
+	if x != nil {
+		return x.xxx_hidden_Sfixed32
+	}
+	return 0
+}
+
+func (x *Node) GetSfixed64() int64 {
+	if x != nil {
+		return x.xxx_hidden_Sfixed64
+	}
+	return 0
+}
+
+func (x *Node) GetFloat() float32 {
+	if x != nil {
+		return x.xxx_hidden_Float
+	}
+	return 0
+}
+
+func (x *Node) GetDouble() float64 {
+	if x != nil {
+		return x.xxx_hidden_Double
+	}
+	return 0
+}
+
+func (x *Node) GetBool() bool {
+	if x != nil {
+		return x.xxx_hidden_Bool
+	}
+	return false
+}
+
+func (x *Node) GetString() string {
+	if x != nil {
+		if x.xxx_hidden_String_ != nil {
+			return *x.xxx_hidden_String_
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *Node) GetBytes() []byte {
+	if x != nil {
+		return x.xxx_hidden_Bytes
+	}
+	return nil
+}
+
+func (x *Node) SetNested(v *Node) {
+	protoimpl.X.AtomicSetPointer(&x.xxx_hidden_Nested, v)
+	if v == nil {
+		protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	} else {
+		protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 16)
+	}
+}
+
+func (x *Node) SetInt32(v int32) {
+	x.xxx_hidden_Int32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 16)
+}
+
+func (x *Node) SetInt64(v int64) {
+	x.xxx_hidden_Int64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 16)
+}
+
+func (x *Node) SetUint32(v uint32) {
+	x.xxx_hidden_Uint32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 16)
+}
+
+func (x *Node) SetUint64(v uint64) {
+	x.xxx_hidden_Uint64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 16)
+}
+
+func (x *Node) SetSint32(v int32) {
+	x.xxx_hidden_Sint32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 16)
+}
+
+func (x *Node) SetSint64(v int64) {
+	x.xxx_hidden_Sint64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 6, 16)
+}
+
+func (x *Node) SetFixed32(v uint32) {
+	x.xxx_hidden_Fixed32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 7, 16)
+}
+
+func (x *Node) SetFixed64(v uint64) {
+	x.xxx_hidden_Fixed64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 8, 16)
+}
+
+func (x *Node) SetSfixed32(v int32) {
+	x.xxx_hidden_Sfixed32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 9, 16)
+}
+
+func (x *Node) SetSfixed64(v int64) {
+	x.xxx_hidden_Sfixed64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 10, 16)
+}
+
+func (x *Node) SetFloat(v float32) {
+	x.xxx_hidden_Float = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 11, 16)
+}
+
+func (x *Node) SetDouble(v float64) {
+	x.xxx_hidden_Double = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 12, 16)
+}
+
+func (x *Node) SetBool(v bool) {
+	x.xxx_hidden_Bool = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 13, 16)
+}
+
+func (x *Node) SetString(v string) {
+	x.xxx_hidden_String_ = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 14, 16)
+}
+
+func (x *Node) SetBytes(v []byte) {
+	if v == nil {
+		v = []byte{}
+	}
+	x.xxx_hidden_Bytes = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 15, 16)
+}
+
+func (x *Node) HasNested() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Node) HasInt32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *Node) HasInt64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *Node) HasUint32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 3)
+}
+
+func (x *Node) HasUint64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 4)
+}
+
+func (x *Node) HasSint32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 5)
+}
+
+func (x *Node) HasSint64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 6)
+}
+
+func (x *Node) HasFixed32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 7)
+}
+
+func (x *Node) HasFixed64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 8)
+}
+
+func (x *Node) HasSfixed32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 9)
+}
+
+func (x *Node) HasSfixed64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 10)
+}
+
+func (x *Node) HasFloat() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 11)
+}
+
+func (x *Node) HasDouble() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 12)
+}
+
+func (x *Node) HasBool() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 13)
+}
+
+func (x *Node) HasString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 14)
+}
+
+func (x *Node) HasBytes() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 15)
+}
+
+func (x *Node) ClearNested() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	protoimpl.X.AtomicSetPointer(&x.xxx_hidden_Nested, (*Node)(nil))
+}
+
+func (x *Node) ClearInt32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_Int32 = 0
+}
+
+func (x *Node) ClearInt64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_Int64 = 0
+}
+
+func (x *Node) ClearUint32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3)
+	x.xxx_hidden_Uint32 = 0
+}
+
+func (x *Node) ClearUint64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4)
+	x.xxx_hidden_Uint64 = 0
+}
+
+func (x *Node) ClearSint32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 5)
+	x.xxx_hidden_Sint32 = 0
+}
+
+func (x *Node) ClearSint64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 6)
+	x.xxx_hidden_Sint64 = 0
+}
+
+func (x *Node) ClearFixed32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 7)
+	x.xxx_hidden_Fixed32 = 0
+}
+
+func (x *Node) ClearFixed64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 8)
+	x.xxx_hidden_Fixed64 = 0
+}
+
+func (x *Node) ClearSfixed32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 9)
+	x.xxx_hidden_Sfixed32 = 0
+}
+
+func (x *Node) ClearSfixed64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 10)
+	x.xxx_hidden_Sfixed64 = 0
+}
+
+func (x *Node) ClearFloat() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 11)
+	x.xxx_hidden_Float = 0
+}
+
+func (x *Node) ClearDouble() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 12)
+	x.xxx_hidden_Double = 0
+}
+
+func (x *Node) ClearBool() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 13)
+	x.xxx_hidden_Bool = false
+}
+
+func (x *Node) ClearString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 14)
+	x.xxx_hidden_String_ = nil
+}
+
+func (x *Node) ClearBytes() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 15)
+	x.xxx_hidden_Bytes = nil
+}
+
+type Node_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	Nested   *Node
+	Int32    *int32
+	Int64    *int64
+	Uint32   *uint32
+	Uint64   *uint64
+	Sint32   *int32
+	Sint64   *int64
+	Fixed32  *uint32
+	Fixed64  *uint64
+	Sfixed32 *int32
+	Sfixed64 *int64
+	Float    *float32
+	Double   *float64
+	Bool     *bool
+	String   *string
+	Bytes    []byte
+}
+
+func (b0 Node_builder) Build() *Node {
+	m0 := &Node{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Nested != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 16)
+		x.xxx_hidden_Nested = b.Nested
+	}
+	if b.Int32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 16)
+		x.xxx_hidden_Int32 = *b.Int32
+	}
+	if b.Int64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 16)
+		x.xxx_hidden_Int64 = *b.Int64
+	}
+	if b.Uint32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 16)
+		x.xxx_hidden_Uint32 = *b.Uint32
+	}
+	if b.Uint64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 16)
+		x.xxx_hidden_Uint64 = *b.Uint64
+	}
+	if b.Sint32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 16)
+		x.xxx_hidden_Sint32 = *b.Sint32
+	}
+	if b.Sint64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 6, 16)
+		x.xxx_hidden_Sint64 = *b.Sint64
+	}
+	if b.Fixed32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 7, 16)
+		x.xxx_hidden_Fixed32 = *b.Fixed32
+	}
+	if b.Fixed64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 8, 16)
+		x.xxx_hidden_Fixed64 = *b.Fixed64
+	}
+	if b.Sfixed32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 9, 16)
+		x.xxx_hidden_Sfixed32 = *b.Sfixed32
+	}
+	if b.Sfixed64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 10, 16)
+		x.xxx_hidden_Sfixed64 = *b.Sfixed64
+	}
+	if b.Float != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 11, 16)
+		x.xxx_hidden_Float = *b.Float
+	}
+	if b.Double != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 12, 16)
+		x.xxx_hidden_Double = *b.Double
+	}
+	if b.Bool != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 13, 16)
+		x.xxx_hidden_Bool = *b.Bool
+	}
+	if b.String != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 14, 16)
+		x.xxx_hidden_String_ = b.String
+	}
+	if b.Bytes != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 15, 16)
+		x.xxx_hidden_Bytes = b.Bytes
+	}
+	return m0
+}
+
+var File_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_rawDesc = []byte{
+	0x0a, 0x3b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6c, 0x61, 0x7a, 0x79, 0x2f, 0x6c, 0x61, 0x7a, 0x79, 0x5f,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x74, 0x72, 0x65, 0x65,
+	0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x68,
+	0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x1a,
+	0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+	0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x22, 0xa2, 0x03, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x6e,
+	0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x79,
+	0x62, 0x72, 0x69, 0x64, 0x2e, 0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x2e, 0x4e,
+	0x6f, 0x64, 0x65, 0x42, 0x02, 0x28, 0x01, 0x52, 0x06, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12,
+	0x14, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
+	0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x16, 0x0a, 0x06, 0x75,
+	0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x69, 0x6e,
+	0x74, 0x33, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x04, 0x20,
+	0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x16, 0x0a, 0x06, 0x73,
+	0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x73, 0x69, 0x6e,
+	0x74, 0x33, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20,
+	0x01, 0x28, 0x12, 0x52, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x18, 0x0a, 0x07, 0x66,
+	0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x07, 0x66, 0x69,
+	0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
+	0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
+	0x1a, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28,
+	0x0f, 0x52, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x73,
+	0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x08, 0x73,
+	0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+	0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x16, 0x0a,
+	0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x64,
+	0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20,
+	0x01, 0x28, 0x08, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72,
+	0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e,
+	0x67, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c,
+	0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x49, 0x5a, 0x3f, 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, 0x6c, 0x61, 0x7a, 0x79, 0x2f, 0x6c,
+	0x61, 0x7a, 0x79, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x92, 0x03, 0x05, 0xd2, 0x3e, 0x02,
+	0x10, 0x02, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
+}
+
+var file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_goTypes = []any{
+	(*Node)(nil), // 0: hybrid.lazy_tree.Node
+}
+var file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_depIdxs = []int32{
+	0, // 0: hybrid.lazy_tree.Node.nested:type_name -> hybrid.lazy_tree.Node
+	1, // [1:1] is the sub-list for method output_type
+	1, // [1:1] is the sub-list for method input_type
+	1, // [1:1] is the sub-list for extension type_name
+	1, // [1:1] is the sub-list for extension extendee
+	0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_init() }
+func file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_init() {
+	if File_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto != nil {
+		return
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   1,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_goTypes,
+		DependencyIndexes: file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_depIdxs,
+		MessageInfos:      file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_msgTypes,
+	}.Build()
+	File_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto = out.File
+	file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_rawDesc = nil
+	file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_goTypes = nil
+	file_internal_testprotos_lazy_lazy_hybrid_lazy_tree_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/messageset/messagesetpb/messagesetpb_hybrid/message_set.hybrid.pb.go b/internal/testprotos/messageset/messagesetpb/messagesetpb_hybrid/message_set.hybrid.pb.go
index 4b59ec7..837d85a 100644
--- a/internal/testprotos/messageset/messagesetpb/messagesetpb_hybrid/message_set.hybrid.pb.go
+++ b/internal/testprotos/messageset/messagesetpb/messagesetpb_hybrid/message_set.hybrid.pb.go
@@ -5,6 +5,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: internal/testprotos/messageset/messagesetpb/messagesetpb_hybrid/message_set.hybrid.proto
 
+//go:build !protoopaque
+
 package messagesetpb_hybrid
 
 import (
diff --git a/internal/testprotos/messageset/messagesetpb/messagesetpb_hybrid/message_set.hybrid_protoopaque.pb.go b/internal/testprotos/messageset/messagesetpb/messagesetpb_hybrid/message_set.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..a46607f
--- /dev/null
+++ b/internal/testprotos/messageset/messagesetpb/messagesetpb_hybrid/message_set.hybrid_protoopaque.pb.go
@@ -0,0 +1,201 @@
+// Copyright 2019 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/messageset/messagesetpb/messagesetpb_hybrid/message_set.hybrid.proto
+
+//go:build protoopaque
+
+package messagesetpb_hybrid
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	reflect "reflect"
+)
+
+type MessageSet struct {
+	state           protoimpl.MessageState `protogen:"opaque.v1"`
+	extensionFields protoimpl.ExtensionFields
+	unknownFields   protoimpl.UnknownFields
+	sizeCache       protoimpl.SizeCache
+}
+
+func (x *MessageSet) Reset() {
+	*x = MessageSet{}
+	mi := &file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MessageSet) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MessageSet) ProtoMessage() {}
+
+func (x *MessageSet) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_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 MessageSet_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 MessageSet_builder) Build() *MessageSet {
+	m0 := &MessageSet{}
+	b, x := &b0, m0
+	_, _ = b, x
+	return m0
+}
+
+type MessageSetContainer struct {
+	state                 protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_MessageSet *MessageSet            `protobuf:"bytes,1,opt,name=message_set,json=messageSet" json:"message_set,omitempty"`
+	unknownFields         protoimpl.UnknownFields
+	sizeCache             protoimpl.SizeCache
+}
+
+func (x *MessageSetContainer) Reset() {
+	*x = MessageSetContainer{}
+	mi := &file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MessageSetContainer) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MessageSetContainer) ProtoMessage() {}
+
+func (x *MessageSetContainer) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_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 *MessageSetContainer) GetMessageSet() *MessageSet {
+	if x != nil {
+		return x.xxx_hidden_MessageSet
+	}
+	return nil
+}
+
+func (x *MessageSetContainer) SetMessageSet(v *MessageSet) {
+	x.xxx_hidden_MessageSet = v
+}
+
+func (x *MessageSetContainer) HasMessageSet() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_MessageSet != nil
+}
+
+func (x *MessageSetContainer) ClearMessageSet() {
+	x.xxx_hidden_MessageSet = nil
+}
+
+type MessageSetContainer_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	MessageSet *MessageSet
+}
+
+func (b0 MessageSetContainer_builder) Build() *MessageSetContainer {
+	m0 := &MessageSetContainer{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_MessageSet = b.MessageSet
+	return m0
+}
+
+var File_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_rawDesc = []byte{
+	0x0a, 0x58, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74,
+	0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x70, 0x62, 0x2f, 0x6d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x70, 0x62, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69,
+	0x64, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x2e, 0x68, 0x79,
+	0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x1a, 0x21, 0x67, 0x6f, 0x6f,
+	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x5f,
+	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a,
+	0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x04,
+	0x10, 0xff, 0xff, 0xff, 0xff, 0x07, 0x3a, 0x02, 0x08, 0x01, 0x22, 0x63, 0x0a, 0x13, 0x4d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
+	0x72, 0x12, 0x4c, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+	0x53, 0x65, 0x74, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x42,
+	0x64, 0x5a, 0x5a, 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, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2f, 0x6d, 0x65, 0x73,
+	0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x70, 0x62, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+	0x65, 0x73, 0x65, 0x74, 0x70, 0x62, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x92, 0x03, 0x05,
+	0xd2, 0x3e, 0x02, 0x10, 0x02, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70,
+	0xe8, 0x07,
+}
+
+var file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_goTypes = []any{
+	(*MessageSet)(nil),          // 0: hybrid.goproto.proto.messageset.MessageSet
+	(*MessageSetContainer)(nil), // 1: hybrid.goproto.proto.messageset.MessageSetContainer
+}
+var file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_depIdxs = []int32{
+	0, // 0: hybrid.goproto.proto.messageset.MessageSetContainer.message_set:type_name -> hybrid.goproto.proto.messageset.MessageSet
+	1, // [1:1] is the sub-list for method output_type
+	1, // [1:1] is the sub-list for method input_type
+	1, // [1:1] is the sub-list for extension type_name
+	1, // [1:1] is the sub-list for extension extendee
+	0, // [0:1] is the sub-list for field type_name
+}
+
+func init() {
+	file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_init()
+}
+func file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_init() {
+	if File_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto != nil {
+		return
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   2,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_goTypes,
+		DependencyIndexes: file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_depIdxs,
+		MessageInfos:      file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_msgTypes,
+	}.Build()
+	File_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto = out.File
+	file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_rawDesc = nil
+	file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_goTypes = nil
+	file_internal_testprotos_messageset_messagesetpb_messagesetpb_hybrid_message_set_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid.pb.go b/internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid.pb.go
index 7594a85..ce6600b 100644
--- a/internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid.pb.go
+++ b/internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid.pb.go
@@ -5,6 +5,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid.proto
 
+//go:build !protoopaque
+
 package msetextpb_hybrid
 
 import (
diff --git a/internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid_protoopaque.pb.go b/internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..9de220b
--- /dev/null
+++ b/internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid_protoopaque.pb.go
@@ -0,0 +1,489 @@
+// Copyright 2019 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/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid.proto
+
+//go:build protoopaque
+
+package msetextpb_hybrid
+
+import (
+	messagesetpb_hybrid "google.golang.org/protobuf/internal/testprotos/messageset/messagesetpb/messagesetpb_hybrid"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	reflect "reflect"
+)
+
+type Ext1 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Ext1Field1  int32                  `protobuf:"varint,1,opt,name=ext1_field1,json=ext1Field1" json:"ext1_field1,omitempty"`
+	xxx_hidden_Ext1Field2  int32                  `protobuf:"varint,2,opt,name=ext1_field2,json=ext1Field2" json:"ext1_field2,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Ext1) Reset() {
+	*x = Ext1{}
+	mi := &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Ext1) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Ext1) ProtoMessage() {}
+
+func (x *Ext1) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_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 *Ext1) GetExt1Field1() int32 {
+	if x != nil {
+		return x.xxx_hidden_Ext1Field1
+	}
+	return 0
+}
+
+func (x *Ext1) GetExt1Field2() int32 {
+	if x != nil {
+		return x.xxx_hidden_Ext1Field2
+	}
+	return 0
+}
+
+func (x *Ext1) SetExt1Field1(v int32) {
+	x.xxx_hidden_Ext1Field1 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *Ext1) SetExt1Field2(v int32) {
+	x.xxx_hidden_Ext1Field2 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
+}
+
+func (x *Ext1) HasExt1Field1() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Ext1) HasExt1Field2() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *Ext1) ClearExt1Field1() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Ext1Field1 = 0
+}
+
+func (x *Ext1) ClearExt1Field2() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_Ext1Field2 = 0
+}
+
+type Ext1_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	Ext1Field1 *int32
+	Ext1Field2 *int32
+}
+
+func (b0 Ext1_builder) Build() *Ext1 {
+	m0 := &Ext1{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Ext1Field1 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_Ext1Field1 = *b.Ext1Field1
+	}
+	if b.Ext1Field2 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
+		x.xxx_hidden_Ext1Field2 = *b.Ext1Field2
+	}
+	return m0
+}
+
+type Ext2 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Ext2Field1  int32                  `protobuf:"varint,1,opt,name=ext2_field1,json=ext2Field1" json:"ext2_field1,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Ext2) Reset() {
+	*x = Ext2{}
+	mi := &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Ext2) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Ext2) ProtoMessage() {}
+
+func (x *Ext2) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_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 *Ext2) GetExt2Field1() int32 {
+	if x != nil {
+		return x.xxx_hidden_Ext2Field1
+	}
+	return 0
+}
+
+func (x *Ext2) SetExt2Field1(v int32) {
+	x.xxx_hidden_Ext2Field1 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Ext2) HasExt2Field1() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Ext2) ClearExt2Field1() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Ext2Field1 = 0
+}
+
+type Ext2_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	Ext2Field1 *int32
+}
+
+func (b0 Ext2_builder) Build() *Ext2 {
+	m0 := &Ext2{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Ext2Field1 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_Ext2Field1 = *b.Ext2Field1
+	}
+	return m0
+}
+
+type ExtRequired struct {
+	state                     protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_RequiredField1 int32                  `protobuf:"varint,1,req,name=required_field1,json=requiredField1" json:"required_field1,omitempty"`
+	XXX_raceDetectHookData    protoimpl.RaceDetectHookData
+	XXX_presence              [1]uint32
+	unknownFields             protoimpl.UnknownFields
+	sizeCache                 protoimpl.SizeCache
+}
+
+func (x *ExtRequired) Reset() {
+	*x = ExtRequired{}
+	mi := &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ExtRequired) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExtRequired) ProtoMessage() {}
+
+func (x *ExtRequired) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_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 *ExtRequired) GetRequiredField1() int32 {
+	if x != nil {
+		return x.xxx_hidden_RequiredField1
+	}
+	return 0
+}
+
+func (x *ExtRequired) SetRequiredField1(v int32) {
+	x.xxx_hidden_RequiredField1 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *ExtRequired) HasRequiredField1() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *ExtRequired) ClearRequiredField1() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_RequiredField1 = 0
+}
+
+type ExtRequired_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	RequiredField1 *int32
+}
+
+func (b0 ExtRequired_builder) Build() *ExtRequired {
+	m0 := &ExtRequired{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.RequiredField1 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_RequiredField1 = *b.RequiredField1
+	}
+	return m0
+}
+
+type ExtLargeNumber struct {
+	state         protoimpl.MessageState `protogen:"opaque.v1"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *ExtLargeNumber) Reset() {
+	*x = ExtLargeNumber{}
+	mi := &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ExtLargeNumber) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExtLargeNumber) ProtoMessage() {}
+
+func (x *ExtLargeNumber) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_msgTypes[3]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+type ExtLargeNumber_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 ExtLargeNumber_builder) Build() *ExtLargeNumber {
+	m0 := &ExtLargeNumber{}
+	b, x := &b0, m0
+	_, _ = b, x
+	return m0
+}
+
+var file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_extTypes = []protoimpl.ExtensionInfo{
+	{
+		ExtendedType:  (*messagesetpb_hybrid.MessageSet)(nil),
+		ExtensionType: (*Ext1)(nil),
+		Field:         1000,
+		Name:          "hybrid.goproto.proto.messageset.Ext1.message_set_ext1",
+		Tag:           "bytes,1000,opt,name=message_set_ext1",
+		Filename:      "internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*messagesetpb_hybrid.MessageSet)(nil),
+		ExtensionType: (*Ext2)(nil),
+		Field:         1001,
+		Name:          "hybrid.goproto.proto.messageset.Ext2.message_set_ext2",
+		Tag:           "bytes,1001,opt,name=message_set_ext2",
+		Filename:      "internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*messagesetpb_hybrid.MessageSet)(nil),
+		ExtensionType: (*ExtRequired)(nil),
+		Field:         1002,
+		Name:          "hybrid.goproto.proto.messageset.ExtRequired.message_set_extrequired",
+		Tag:           "bytes,1002,opt,name=message_set_extrequired",
+		Filename:      "internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*messagesetpb_hybrid.MessageSet)(nil),
+		ExtensionType: (*ExtLargeNumber)(nil),
+		Field:         536870912,
+		Name:          "hybrid.goproto.proto.messageset.ExtLargeNumber.message_set_extlarge",
+		Tag:           "bytes,536870912,opt,name=message_set_extlarge",
+		Filename:      "internal/testprotos/messageset/msetextpb/msetextpb_hybrid/msetextpb.hybrid.proto",
+	},
+}
+
+// Extension fields to messagesetpb_hybrid.MessageSet.
+var (
+	// optional hybrid.goproto.proto.messageset.Ext1 message_set_ext1 = 1000;
+	E_Ext1_MessageSetExt1 = &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_extTypes[0]
+	// optional hybrid.goproto.proto.messageset.Ext2 message_set_ext2 = 1001;
+	E_Ext2_MessageSetExt2 = &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_extTypes[1]
+	// optional hybrid.goproto.proto.messageset.ExtRequired message_set_extrequired = 1002;
+	E_ExtRequired_MessageSetExtrequired = &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_extTypes[2]
+	// optional hybrid.goproto.proto.messageset.ExtLargeNumber message_set_extlarge = 536870912;
+	E_ExtLargeNumber_MessageSetExtlarge = &file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_extTypes[3] // 1<<29
+)
+
+var File_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_rawDesc = []byte{
+	0x0a, 0x50, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74,
+	0x2f, 0x6d, 0x73, 0x65, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x2f, 0x6d, 0x73, 0x65, 0x74, 0x65,
+	0x78, 0x74, 0x70, 0x62, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x6d, 0x73, 0x65, 0x74,
+	0x65, 0x78, 0x74, 0x70, 0x62, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x12, 0x1f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+	0x73, 0x65, 0x74, 0x1a, 0x58, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65,
+	0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+	0x73, 0x65, 0x74, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x70, 0x62,
+	0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x70, 0x62, 0x5f, 0x68, 0x79,
+	0x62, 0x72, 0x69, 0x64, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74,
+	0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67,
+	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67,
+	0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x22, 0xc7, 0x01, 0x0a, 0x04, 0x45, 0x78, 0x74, 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74,
+	0x31, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
+	0x65, 0x78, 0x74, 0x31, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78,
+	0x74, 0x31, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
+	0x0a, 0x65, 0x78, 0x74, 0x31, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x32, 0x7d, 0x0a, 0x10, 0x6d,
+	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x31, 0x12,
+	0x2b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65,
+	0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0xe8, 0x07, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61,
+	0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x31, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73,
+	0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x31, 0x22, 0xa6, 0x01, 0x0a, 0x04, 0x45,
+	0x78, 0x74, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c,
+	0x64, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x32, 0x46, 0x69,
+	0x65, 0x6c, 0x64, 0x31, 0x32, 0x7d, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f,
+	0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x32, 0x12, 0x2b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+	0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
+	0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68,
+	0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x45,
+	0x78, 0x74, 0x32, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45,
+	0x78, 0x74, 0x32, 0x22, 0xd2, 0x01, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69,
+	0x72, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f,
+	0x66, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05, 0xaa, 0x01,
+	0x02, 0x08, 0x03, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x69, 0x65,
+	0x6c, 0x64, 0x31, 0x32, 0x92, 0x01, 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f,
+	0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12,
+	0x2b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65,
+	0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0xea, 0x07, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61,
+	0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
+	0x64, 0x52, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74,
+	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x74,
+	0x4c, 0x61, 0x72, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x32, 0x92, 0x01, 0x0a, 0x14,
+	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x6c,
+	0x61, 0x72, 0x67, 0x65, 0x12, 0x2b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73,
+	0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65,
+	0x74, 0x18, 0x80, 0x80, 0x80, 0x80, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x79,
+	0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x45, 0x78,
+	0x74, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x12, 0x6d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x6c, 0x61, 0x72, 0x67, 0x65,
+	0x42, 0x5e, 0x5a, 0x54, 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, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x74, 0x2f, 0x6d, 0x73,
+	0x65, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x2f, 0x6d, 0x73, 0x65, 0x74, 0x65, 0x78, 0x74, 0x70,
+	0x62, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x92, 0x03, 0x05, 0xd2, 0x3e, 0x02, 0x10, 0x02,
+	0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
+}
+
+var file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_goTypes = []any{
+	(*Ext1)(nil),                           // 0: hybrid.goproto.proto.messageset.Ext1
+	(*Ext2)(nil),                           // 1: hybrid.goproto.proto.messageset.Ext2
+	(*ExtRequired)(nil),                    // 2: hybrid.goproto.proto.messageset.ExtRequired
+	(*ExtLargeNumber)(nil),                 // 3: hybrid.goproto.proto.messageset.ExtLargeNumber
+	(*messagesetpb_hybrid.MessageSet)(nil), // 4: hybrid.goproto.proto.messageset.MessageSet
+}
+var file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_depIdxs = []int32{
+	4, // 0: hybrid.goproto.proto.messageset.Ext1.message_set_ext1:extendee -> hybrid.goproto.proto.messageset.MessageSet
+	4, // 1: hybrid.goproto.proto.messageset.Ext2.message_set_ext2:extendee -> hybrid.goproto.proto.messageset.MessageSet
+	4, // 2: hybrid.goproto.proto.messageset.ExtRequired.message_set_extrequired:extendee -> hybrid.goproto.proto.messageset.MessageSet
+	4, // 3: hybrid.goproto.proto.messageset.ExtLargeNumber.message_set_extlarge:extendee -> hybrid.goproto.proto.messageset.MessageSet
+	0, // 4: hybrid.goproto.proto.messageset.Ext1.message_set_ext1:type_name -> hybrid.goproto.proto.messageset.Ext1
+	1, // 5: hybrid.goproto.proto.messageset.Ext2.message_set_ext2:type_name -> hybrid.goproto.proto.messageset.Ext2
+	2, // 6: hybrid.goproto.proto.messageset.ExtRequired.message_set_extrequired:type_name -> hybrid.goproto.proto.messageset.ExtRequired
+	3, // 7: hybrid.goproto.proto.messageset.ExtLargeNumber.message_set_extlarge:type_name -> hybrid.goproto.proto.messageset.ExtLargeNumber
+	8, // [8:8] is the sub-list for method output_type
+	8, // [8:8] is the sub-list for method input_type
+	4, // [4:8] is the sub-list for extension type_name
+	0, // [0:4] is the sub-list for extension extendee
+	0, // [0:0] is the sub-list for field type_name
+}
+
+func init() {
+	file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_init()
+}
+func file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_init() {
+	if File_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto != nil {
+		return
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   4,
+			NumExtensions: 4,
+			NumServices:   0,
+		},
+		GoTypes:           file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_goTypes,
+		DependencyIndexes: file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_depIdxs,
+		MessageInfos:      file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_msgTypes,
+		ExtensionInfos:    file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_extTypes,
+	}.Build()
+	File_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto = out.File
+	file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_rawDesc = nil
+	file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_goTypes = nil
+	file_internal_testprotos_messageset_msetextpb_msetextpb_hybrid_msetextpb_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/required/required_hybrid/required.hybrid.pb.go b/internal/testprotos/required/required_hybrid/required.hybrid.pb.go
index 6b6b2bb..75a36fc 100644
--- a/internal/testprotos/required/required_hybrid/required.hybrid.pb.go
+++ b/internal/testprotos/required/required_hybrid/required.hybrid.pb.go
@@ -5,6 +5,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: internal/testprotos/required/required_hybrid/required.hybrid.proto
 
+//go:build !protoopaque
+
 package required_hybrid
 
 import (
diff --git a/internal/testprotos/required/required_hybrid/required.hybrid_protoopaque.pb.go b/internal/testprotos/required/required_hybrid/required.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..68b1ef1
--- /dev/null
+++ b/internal/testprotos/required/required_hybrid/required.hybrid_protoopaque.pb.go
@@ -0,0 +1,1364 @@
+// Copyright 2020 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/required/required_hybrid/required.hybrid.proto
+
+//go:build protoopaque
+
+package required_hybrid
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	reflect "reflect"
+)
+
+type Int32 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           int32                  `protobuf:"varint,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Int32) Reset() {
+	*x = Int32{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Int32) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Int32) ProtoMessage() {}
+
+func (x *Int32) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_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 *Int32) GetV() int32 {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return 0
+}
+
+func (x *Int32) SetV(v int32) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Int32) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Int32) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = 0
+}
+
+type Int32_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *int32
+}
+
+func (b0 Int32_builder) Build() *Int32 {
+	m0 := &Int32{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+type Int64 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           int64                  `protobuf:"varint,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Int64) Reset() {
+	*x = Int64{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Int64) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Int64) ProtoMessage() {}
+
+func (x *Int64) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_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 *Int64) GetV() int64 {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return 0
+}
+
+func (x *Int64) SetV(v int64) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Int64) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Int64) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = 0
+}
+
+type Int64_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *int64
+}
+
+func (b0 Int64_builder) Build() *Int64 {
+	m0 := &Int64{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+type Uint32 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           uint32                 `protobuf:"varint,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Uint32) Reset() {
+	*x = Uint32{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Uint32) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Uint32) ProtoMessage() {}
+
+func (x *Uint32) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_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 *Uint32) GetV() uint32 {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return 0
+}
+
+func (x *Uint32) SetV(v uint32) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Uint32) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Uint32) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = 0
+}
+
+type Uint32_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *uint32
+}
+
+func (b0 Uint32_builder) Build() *Uint32 {
+	m0 := &Uint32{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+type Uint64 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           uint64                 `protobuf:"varint,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Uint64) Reset() {
+	*x = Uint64{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Uint64) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Uint64) ProtoMessage() {}
+
+func (x *Uint64) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[3]
+	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 *Uint64) GetV() uint64 {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return 0
+}
+
+func (x *Uint64) SetV(v uint64) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Uint64) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Uint64) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = 0
+}
+
+type Uint64_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *uint64
+}
+
+func (b0 Uint64_builder) Build() *Uint64 {
+	m0 := &Uint64{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+type Sint32 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           int32                  `protobuf:"zigzag32,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Sint32) Reset() {
+	*x = Sint32{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Sint32) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Sint32) ProtoMessage() {}
+
+func (x *Sint32) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[4]
+	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 *Sint32) GetV() int32 {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return 0
+}
+
+func (x *Sint32) SetV(v int32) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Sint32) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Sint32) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = 0
+}
+
+type Sint32_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *int32
+}
+
+func (b0 Sint32_builder) Build() *Sint32 {
+	m0 := &Sint32{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+type Sint64 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           int64                  `protobuf:"zigzag64,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Sint64) Reset() {
+	*x = Sint64{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Sint64) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Sint64) ProtoMessage() {}
+
+func (x *Sint64) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[5]
+	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 *Sint64) GetV() int64 {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return 0
+}
+
+func (x *Sint64) SetV(v int64) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Sint64) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Sint64) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = 0
+}
+
+type Sint64_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *int64
+}
+
+func (b0 Sint64_builder) Build() *Sint64 {
+	m0 := &Sint64{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+type Fixed32 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           uint32                 `protobuf:"fixed32,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Fixed32) Reset() {
+	*x = Fixed32{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Fixed32) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Fixed32) ProtoMessage() {}
+
+func (x *Fixed32) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[6]
+	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 *Fixed32) GetV() uint32 {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return 0
+}
+
+func (x *Fixed32) SetV(v uint32) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Fixed32) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Fixed32) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = 0
+}
+
+type Fixed32_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *uint32
+}
+
+func (b0 Fixed32_builder) Build() *Fixed32 {
+	m0 := &Fixed32{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+type Fixed64 struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           uint64                 `protobuf:"fixed64,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Fixed64) Reset() {
+	*x = Fixed64{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Fixed64) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Fixed64) ProtoMessage() {}
+
+func (x *Fixed64) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[7]
+	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 *Fixed64) GetV() uint64 {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return 0
+}
+
+func (x *Fixed64) SetV(v uint64) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Fixed64) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Fixed64) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = 0
+}
+
+type Fixed64_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *uint64
+}
+
+func (b0 Fixed64_builder) Build() *Fixed64 {
+	m0 := &Fixed64{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+type Float struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           float32                `protobuf:"fixed32,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Float) Reset() {
+	*x = Float{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Float) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Float) ProtoMessage() {}
+
+func (x *Float) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[8]
+	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 *Float) GetV() float32 {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return 0
+}
+
+func (x *Float) SetV(v float32) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Float) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Float) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = 0
+}
+
+type Float_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *float32
+}
+
+func (b0 Float_builder) Build() *Float {
+	m0 := &Float{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+type Double struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           float64                `protobuf:"fixed64,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Double) Reset() {
+	*x = Double{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Double) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Double) ProtoMessage() {}
+
+func (x *Double) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[9]
+	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 *Double) GetV() float64 {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return 0
+}
+
+func (x *Double) SetV(v float64) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Double) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Double) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = 0
+}
+
+type Double_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *float64
+}
+
+func (b0 Double_builder) Build() *Double {
+	m0 := &Double{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+type Bool struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           bool                   `protobuf:"varint,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Bool) Reset() {
+	*x = Bool{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[10]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Bool) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bool) ProtoMessage() {}
+
+func (x *Bool) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[10]
+	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 *Bool) GetV() bool {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return false
+}
+
+func (x *Bool) SetV(v bool) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Bool) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Bool) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = false
+}
+
+type Bool_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *bool
+}
+
+func (b0 Bool_builder) Build() *Bool {
+	m0 := &Bool{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+type String struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           *string                `protobuf:"bytes,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *String) Reset() {
+	*x = String{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[11]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *String) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*String) ProtoMessage() {}
+
+func (x *String) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[11]
+	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 *String) GetV() string {
+	if x != nil {
+		if x.xxx_hidden_V != nil {
+			return *x.xxx_hidden_V
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *String) SetV(v string) {
+	x.xxx_hidden_V = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *String) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *String) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = nil
+}
+
+type String_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *string
+}
+
+func (b0 String_builder) Build() *String {
+	m0 := &String{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = b.V
+	}
+	return m0
+}
+
+type Bytes struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           []byte                 `protobuf:"bytes,1,req,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Bytes) Reset() {
+	*x = Bytes{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[12]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Bytes) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bytes) ProtoMessage() {}
+
+func (x *Bytes) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[12]
+	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 *Bytes) GetV() []byte {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return nil
+}
+
+func (x *Bytes) SetV(v []byte) {
+	if v == nil {
+		v = []byte{}
+	}
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Bytes) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Bytes) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = nil
+}
+
+type Bytes_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V []byte
+}
+
+func (b0 Bytes_builder) Build() *Bytes {
+	m0 := &Bytes{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = b.V
+	}
+	return m0
+}
+
+type Message struct {
+	state         protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V  *Message_M             `protobuf:"bytes,1,req,name=v" json:"v,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *Message) Reset() {
+	*x = Message{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[13]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Message) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Message) ProtoMessage() {}
+
+func (x *Message) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[13]
+	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 *Message) GetV() *Message_M {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return nil
+}
+
+func (x *Message) SetV(v *Message_M) {
+	x.xxx_hidden_V = v
+}
+
+func (x *Message) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_V != nil
+}
+
+func (x *Message) ClearV() {
+	x.xxx_hidden_V = nil
+}
+
+type Message_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *Message_M
+}
+
+func (b0 Message_builder) Build() *Message {
+	m0 := &Message{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_V = b.V
+	return m0
+}
+
+type Group struct {
+	state            protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Group *Group_Group           `protobuf:"group,1,req,name=Group,json=group" json:"group,omitempty"`
+	unknownFields    protoimpl.UnknownFields
+	sizeCache        protoimpl.SizeCache
+}
+
+func (x *Group) Reset() {
+	*x = Group{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[14]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Group) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Group) ProtoMessage() {}
+
+func (x *Group) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[14]
+	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 *Group) GetGroup() *Group_Group {
+	if x != nil {
+		return x.xxx_hidden_Group
+	}
+	return nil
+}
+
+func (x *Group) SetGroup(v *Group_Group) {
+	x.xxx_hidden_Group = v
+}
+
+func (x *Group) HasGroup() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Group != nil
+}
+
+func (x *Group) ClearGroup() {
+	x.xxx_hidden_Group = nil
+}
+
+type Group_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	Group *Group_Group
+}
+
+func (b0 Group_builder) Build() *Group {
+	m0 := &Group{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Group = b.Group
+	return m0
+}
+
+type Message_M struct {
+	state         protoimpl.MessageState `protogen:"opaque.v1"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *Message_M) Reset() {
+	*x = Message_M{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[15]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Message_M) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Message_M) ProtoMessage() {}
+
+func (x *Message_M) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[15]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+type Message_M_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 Message_M_builder) Build() *Message_M {
+	m0 := &Message_M{}
+	b, x := &b0, m0
+	_, _ = b, x
+	return m0
+}
+
+type Group_Group struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_V           int32                  `protobuf:"varint,1,opt,name=v" json:"v,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Group_Group) Reset() {
+	*x = Group_Group{}
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[16]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Group_Group) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Group_Group) ProtoMessage() {}
+
+func (x *Group_Group) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes[16]
+	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 *Group_Group) GetV() int32 {
+	if x != nil {
+		return x.xxx_hidden_V
+	}
+	return 0
+}
+
+func (x *Group_Group) SetV(v int32) {
+	x.xxx_hidden_V = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Group_Group) HasV() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Group_Group) ClearV() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_V = 0
+}
+
+type Group_Group_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	V *int32
+}
+
+func (b0 Group_Group_builder) Build() *Group_Group {
+	m0 := &Group_Group{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.V != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_V = *b.V
+	}
+	return m0
+}
+
+var File_internal_testprotos_required_required_hybrid_required_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_required_required_hybrid_required_hybrid_proto_rawDesc = []byte{
+	0x0a, 0x42, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2f, 0x72,
+	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x72,
+	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 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, 0x72,
+	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x1a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74,
+	0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x05, 0x49, 0x6e,
+	0x74, 0x33, 0x32, 0x12, 0x13, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x01, 0x76, 0x22, 0x1c, 0x0a, 0x05, 0x49, 0x6e, 0x74, 0x36,
+	0x34, 0x12, 0x13, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x05, 0xaa, 0x01,
+	0x02, 0x08, 0x03, 0x52, 0x01, 0x76, 0x22, 0x1d, 0x0a, 0x06, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
+	0x12, 0x13, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x05, 0xaa, 0x01, 0x02,
+	0x08, 0x03, 0x52, 0x01, 0x76, 0x22, 0x1d, 0x0a, 0x06, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+	0x13, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08,
+	0x03, 0x52, 0x01, 0x76, 0x22, 0x1d, 0x0a, 0x06, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x13,
+	0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03,
+	0x52, 0x01, 0x76, 0x22, 0x1d, 0x0a, 0x06, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x13, 0x0a,
+	0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52,
+	0x01, 0x76, 0x22, 0x1e, 0x0a, 0x07, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x13, 0x0a,
+	0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52,
+	0x01, 0x76, 0x22, 0x1e, 0x0a, 0x07, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x13, 0x0a,
+	0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52,
+	0x01, 0x76, 0x22, 0x1c, 0x0a, 0x05, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x13, 0x0a, 0x01, 0x76,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x01, 0x76,
+	0x22, 0x1d, 0x0a, 0x06, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x13, 0x0a, 0x01, 0x76, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x01, 0x76, 0x22,
+	0x1b, 0x0a, 0x04, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x13, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x08, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x01, 0x76, 0x22, 0x1d, 0x0a, 0x06,
+	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x13, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x09, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x01, 0x76, 0x22, 0x1c, 0x0a, 0x05, 0x42,
+	0x79, 0x74, 0x65, 0x73, 0x12, 0x13, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42,
+	0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x01, 0x76, 0x22, 0x51, 0x0a, 0x07, 0x4d, 0x65, 0x73,
+	0x73, 0x61, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x2c, 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, 0x72, 0x65, 0x71, 0x75, 0x69,
+	0x72, 0x65, 0x64, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x42, 0x05, 0xaa,
+	0x01, 0x02, 0x08, 0x03, 0x52, 0x01, 0x76, 0x1a, 0x03, 0x0a, 0x01, 0x4d, 0x22, 0x6d, 0x0a, 0x05,
+	0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4d, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 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,
+	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x47,
+	0x72, 0x6f, 0x75, 0x70, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x03, 0x28, 0x02, 0x52, 0x05, 0x67,
+	0x72, 0x6f, 0x75, 0x70, 0x1a, 0x15, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a,
+	0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x76, 0x42, 0x51, 0x5a, 0x47, 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, 0x72, 0x65,
+	0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x92, 0x03, 0x05, 0xd2, 0x3e, 0x02, 0x10, 0x02, 0x62, 0x08,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
+}
+
+var file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
+var file_internal_testprotos_required_required_hybrid_required_hybrid_proto_goTypes = []any{
+	(*Int32)(nil),       // 0: hybrid.goproto.proto.testrequired.Int32
+	(*Int64)(nil),       // 1: hybrid.goproto.proto.testrequired.Int64
+	(*Uint32)(nil),      // 2: hybrid.goproto.proto.testrequired.Uint32
+	(*Uint64)(nil),      // 3: hybrid.goproto.proto.testrequired.Uint64
+	(*Sint32)(nil),      // 4: hybrid.goproto.proto.testrequired.Sint32
+	(*Sint64)(nil),      // 5: hybrid.goproto.proto.testrequired.Sint64
+	(*Fixed32)(nil),     // 6: hybrid.goproto.proto.testrequired.Fixed32
+	(*Fixed64)(nil),     // 7: hybrid.goproto.proto.testrequired.Fixed64
+	(*Float)(nil),       // 8: hybrid.goproto.proto.testrequired.Float
+	(*Double)(nil),      // 9: hybrid.goproto.proto.testrequired.Double
+	(*Bool)(nil),        // 10: hybrid.goproto.proto.testrequired.Bool
+	(*String)(nil),      // 11: hybrid.goproto.proto.testrequired.String
+	(*Bytes)(nil),       // 12: hybrid.goproto.proto.testrequired.Bytes
+	(*Message)(nil),     // 13: hybrid.goproto.proto.testrequired.Message
+	(*Group)(nil),       // 14: hybrid.goproto.proto.testrequired.Group
+	(*Message_M)(nil),   // 15: hybrid.goproto.proto.testrequired.Message.M
+	(*Group_Group)(nil), // 16: hybrid.goproto.proto.testrequired.Group.Group
+}
+var file_internal_testprotos_required_required_hybrid_required_hybrid_proto_depIdxs = []int32{
+	15, // 0: hybrid.goproto.proto.testrequired.Message.v:type_name -> hybrid.goproto.proto.testrequired.Message.M
+	16, // 1: hybrid.goproto.proto.testrequired.Group.group:type_name -> hybrid.goproto.proto.testrequired.Group.Group
+	2,  // [2:2] is the sub-list for method output_type
+	2,  // [2:2] is the sub-list for method input_type
+	2,  // [2:2] is the sub-list for extension type_name
+	2,  // [2:2] is the sub-list for extension extendee
+	0,  // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_internal_testprotos_required_required_hybrid_required_hybrid_proto_init() }
+func file_internal_testprotos_required_required_hybrid_required_hybrid_proto_init() {
+	if File_internal_testprotos_required_required_hybrid_required_hybrid_proto != nil {
+		return
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_internal_testprotos_required_required_hybrid_required_hybrid_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   17,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_internal_testprotos_required_required_hybrid_required_hybrid_proto_goTypes,
+		DependencyIndexes: file_internal_testprotos_required_required_hybrid_required_hybrid_proto_depIdxs,
+		MessageInfos:      file_internal_testprotos_required_required_hybrid_required_hybrid_proto_msgTypes,
+	}.Build()
+	File_internal_testprotos_required_required_hybrid_required_hybrid_proto = out.File
+	file_internal_testprotos_required_required_hybrid_required_hybrid_proto_rawDesc = nil
+	file_internal_testprotos_required_required_hybrid_required_hybrid_proto_goTypes = nil
+	file_internal_testprotos_required_required_hybrid_required_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.pb.go b/internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.pb.go
index 8d16e54..1f5a755 100644
--- a/internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.pb.go
+++ b/internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.pb.go
@@ -5,6 +5,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto
 
+//go:build !protoopaque
+
 package testeditions_hybrid
 
 import (
diff --git a/internal/testprotos/testeditions/testeditions_hybrid/test.hybrid_protoopaque.pb.go b/internal/testprotos/testeditions/testeditions_hybrid/test.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..27186bf
--- /dev/null
+++ b/internal/testprotos/testeditions/testeditions_hybrid/test.hybrid_protoopaque.pb.go
@@ -0,0 +1,8733 @@
+// Copyright 2024 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/testeditions/testeditions_hybrid/test.hybrid.proto
+
+//go:build protoopaque
+
+package testeditions_hybrid
+
+import (
+	enums_hybrid "google.golang.org/protobuf/internal/testprotos/enums/enums_hybrid"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	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_testeditions_testeditions_hybrid_test_hybrid_proto_enumTypes[0].Descriptor()
+}
+
+func (ForeignEnum) Type() protoreflect.EnumType {
+	return &file_internal_testprotos_testeditions_testeditions_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_testeditions_testeditions_hybrid_test_hybrid_proto_enumTypes[1].Descriptor()
+}
+
+func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType {
+	return &file_internal_testprotos_testeditions_testeditions_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,124,opt,name=singular_int32,json=singularInt32" json:"singular_int32,omitempty"`
+	xxx_hidden_SingularInt64             int64                                  `protobuf:"varint,125,opt,name=singular_int64,json=singularInt64" json:"singular_int64,omitempty"`
+	xxx_hidden_SingularUint32            uint32                                 `protobuf:"varint,126,opt,name=singular_uint32,json=singularUint32" json:"singular_uint32,omitempty"`
+	xxx_hidden_SingularUint64            uint64                                 `protobuf:"varint,127,opt,name=singular_uint64,json=singularUint64" json:"singular_uint64,omitempty"`
+	xxx_hidden_SingularSint32            int32                                  `protobuf:"zigzag32,128,opt,name=singular_sint32,json=singularSint32" json:"singular_sint32,omitempty"`
+	xxx_hidden_SingularSint64            int64                                  `protobuf:"zigzag64,129,opt,name=singular_sint64,json=singularSint64" json:"singular_sint64,omitempty"`
+	xxx_hidden_SingularFixed32           uint32                                 `protobuf:"fixed32,130,opt,name=singular_fixed32,json=singularFixed32" json:"singular_fixed32,omitempty"`
+	xxx_hidden_SingularFixed64           uint64                                 `protobuf:"fixed64,131,opt,name=singular_fixed64,json=singularFixed64" json:"singular_fixed64,omitempty"`
+	xxx_hidden_SingularSfixed32          int32                                  `protobuf:"fixed32,132,opt,name=singular_sfixed32,json=singularSfixed32" json:"singular_sfixed32,omitempty"`
+	xxx_hidden_SingularSfixed64          int64                                  `protobuf:"fixed64,133,opt,name=singular_sfixed64,json=singularSfixed64" json:"singular_sfixed64,omitempty"`
+	xxx_hidden_SingularFloat             float32                                `protobuf:"fixed32,134,opt,name=singular_float,json=singularFloat" json:"singular_float,omitempty"`
+	xxx_hidden_SingularDouble            float64                                `protobuf:"fixed64,135,opt,name=singular_double,json=singularDouble" json:"singular_double,omitempty"`
+	xxx_hidden_SingularBool              bool                                   `protobuf:"varint,136,opt,name=singular_bool,json=singularBool" json:"singular_bool,omitempty"`
+	xxx_hidden_SingularString            string                                 `protobuf:"bytes,137,opt,name=singular_string,json=singularString" json:"singular_string,omitempty"`
+	xxx_hidden_SingularBytes             []byte                                 `protobuf:"bytes,138,opt,name=singular_bytes,json=singularBytes" json:"singular_bytes,omitempty"`
+	xxx_hidden_SingularNestedEnum        TestAllTypes_NestedEnum                `protobuf:"varint,142,opt,name=singular_nested_enum,json=singularNestedEnum,enum=hybrid.goproto.proto.testeditions.TestAllTypes_NestedEnum" json:"singular_nested_enum,omitempty"`
+	xxx_hidden_SingularForeignEnum       ForeignEnum                            `protobuf:"varint,143,opt,name=singular_foreign_enum,json=singularForeignEnum,enum=hybrid.goproto.proto.testeditions.ForeignEnum" json:"singular_foreign_enum,omitempty"`
+	xxx_hidden_SingularImportEnum        ImportEnum                             `protobuf:"varint,144,opt,name=singular_import_enum,json=singularImportEnum,enum=hybrid.goproto.proto.testeditions.ImportEnum" json:"singular_import_enum,omitempty"`
+	xxx_hidden_OptionalInt32             int32                                  `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32" json:"optional_int32,omitempty"`
+	xxx_hidden_OptionalInt64             int64                                  `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64" json:"optional_int64,omitempty"`
+	xxx_hidden_OptionalUint32            uint32                                 `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32" json:"optional_uint32,omitempty"`
+	xxx_hidden_OptionalUint64            uint64                                 `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64" json:"optional_uint64,omitempty"`
+	xxx_hidden_OptionalSint32            int32                                  `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32" json:"optional_sint32,omitempty"`
+	xxx_hidden_OptionalSint64            int64                                  `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64" json:"optional_sint64,omitempty"`
+	xxx_hidden_OptionalFixed32           uint32                                 `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32" json:"optional_fixed32,omitempty"`
+	xxx_hidden_OptionalFixed64           uint64                                 `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64" json:"optional_fixed64,omitempty"`
+	xxx_hidden_OptionalSfixed32          int32                                  `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32" json:"optional_sfixed32,omitempty"`
+	xxx_hidden_OptionalSfixed64          int64                                  `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64" json:"optional_sfixed64,omitempty"`
+	xxx_hidden_OptionalFloat             float32                                `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat" json:"optional_float,omitempty"`
+	xxx_hidden_OptionalDouble            float64                                `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble" json:"optional_double,omitempty"`
+	xxx_hidden_OptionalBool              bool                                   `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool" json:"optional_bool,omitempty"`
+	xxx_hidden_OptionalString            *string                                `protobuf:"bytes,14,opt,name=optional_string,json=optionalString" json:"optional_string,omitempty"`
+	xxx_hidden_OptionalBytes             []byte                                 `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes" json:"optional_bytes,omitempty"`
+	xxx_hidden_Optionalgroup             *TestAllTypes_OptionalGroup            `protobuf:"group,16,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"`
+	xxx_hidden_NotGroupLikeDelimited     *TestAllTypes_OptionalGroup            `protobuf:"group,17,opt,name=OptionalGroup,json=notGroupLikeDelimited" json:"not_group_like_delimited,omitempty"`
+	xxx_hidden_OptionalNestedMessage     *TestAllTypes_NestedMessage            `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"`
+	xxx_hidden_OptionalForeignMessage    *ForeignMessage                        `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage" json:"optional_foreign_message,omitempty"`
+	xxx_hidden_OptionalImportMessage     *ImportMessage                         `protobuf:"bytes,20,opt,name=optional_import_message,json=optionalImportMessage" json:"optional_import_message,omitempty"`
+	xxx_hidden_OptionalNestedEnum        TestAllTypes_NestedEnum                `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,enum=hybrid.goproto.proto.testeditions.TestAllTypes_NestedEnum" json:"optional_nested_enum,omitempty"`
+	xxx_hidden_OptionalForeignEnum       ForeignEnum                            `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,enum=hybrid.goproto.proto.testeditions.ForeignEnum" json:"optional_foreign_enum,omitempty"`
+	xxx_hidden_OptionalImportEnum        ImportEnum                             `protobuf:"varint,23,opt,name=optional_import_enum,json=optionalImportEnum,enum=hybrid.goproto.proto.testeditions.ImportEnum" json:"optional_import_enum,omitempty"`
+	xxx_hidden_OptionalLazyNestedMessage *TestAllTypes_NestedMessage            `protobuf:"bytes,24,opt,name=optional_lazy_nested_message,json=optionalLazyNestedMessage" json:"optional_lazy_nested_message,omitempty"`
+	xxx_hidden_RepeatedInt32             []int32                                `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32" json:"repeated_int32,omitempty"`
+	xxx_hidden_RepeatedInt64             []int64                                `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64" json:"repeated_int64,omitempty"`
+	xxx_hidden_RepeatedUint32            []uint32                               `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32" json:"repeated_uint32,omitempty"`
+	xxx_hidden_RepeatedUint64            []uint64                               `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64" json:"repeated_uint64,omitempty"`
+	xxx_hidden_RepeatedSint32            []int32                                `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32" json:"repeated_sint32,omitempty"`
+	xxx_hidden_RepeatedSint64            []int64                                `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64" json:"repeated_sint64,omitempty"`
+	xxx_hidden_RepeatedFixed32           []uint32                               `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32" json:"repeated_fixed32,omitempty"`
+	xxx_hidden_RepeatedFixed64           []uint64                               `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64" json:"repeated_fixed64,omitempty"`
+	xxx_hidden_RepeatedSfixed32          []int32                                `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32" json:"repeated_sfixed32,omitempty"`
+	xxx_hidden_RepeatedSfixed64          []int64                                `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64" json:"repeated_sfixed64,omitempty"`
+	xxx_hidden_RepeatedFloat             []float32                              `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat" json:"repeated_float,omitempty"`
+	xxx_hidden_RepeatedDouble            []float64                              `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble" json:"repeated_double,omitempty"`
+	xxx_hidden_RepeatedBool              []bool                                 `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool" json:"repeated_bool,omitempty"`
+	xxx_hidden_RepeatedString            []string                               `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString" json:"repeated_string,omitempty"`
+	xxx_hidden_RepeatedBytes             [][]byte                               `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes" json:"repeated_bytes,omitempty"`
+	xxx_hidden_Repeatedgroup             *[]*TestAllTypes_RepeatedGroup         `protobuf:"group,46,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"`
+	xxx_hidden_RepeatedNestedMessage     *[]*TestAllTypes_NestedMessage         `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage" json:"repeated_nested_message,omitempty"`
+	xxx_hidden_RepeatedForeignMessage    *[]*ForeignMessage                     `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage" json:"repeated_foreign_message,omitempty"`
+	xxx_hidden_RepeatedImportmessage     *[]*ImportMessage                      `protobuf:"bytes,50,rep,name=repeated_importmessage,json=repeatedImportmessage" json:"repeated_importmessage,omitempty"`
+	xxx_hidden_RepeatedNestedEnum        []TestAllTypes_NestedEnum              `protobuf:"varint,51,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,enum=hybrid.goproto.proto.testeditions.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"`
+	xxx_hidden_RepeatedForeignEnum       []ForeignEnum                          `protobuf:"varint,52,rep,packed,name=repeated_foreign_enum,json=repeatedForeignEnum,enum=hybrid.goproto.proto.testeditions.ForeignEnum" json:"repeated_foreign_enum,omitempty"`
+	xxx_hidden_RepeatedImportenum        []ImportEnum                           `protobuf:"varint,53,rep,packed,name=repeated_importenum,json=repeatedImportenum,enum=hybrid.goproto.proto.testeditions.ImportEnum" json:"repeated_importenum,omitempty"`
+	xxx_hidden_MapInt32Int32             map[int32]int32                        `protobuf:"bytes,56,rep,name=map_int32_int32,json=mapInt32Int32" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" json:"map_string_nested_enum,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=hybrid.goproto.proto.testeditions.TestAllTypes_NestedEnum"`
+	xxx_hidden_DefaultInt32              int32                                  `protobuf:"varint,81,opt,name=default_int32,json=defaultInt32,def=81" json:"default_int32,omitempty"`
+	xxx_hidden_DefaultInt64              int64                                  `protobuf:"varint,82,opt,name=default_int64,json=defaultInt64,def=82" json:"default_int64,omitempty"`
+	xxx_hidden_DefaultUint32             uint32                                 `protobuf:"varint,83,opt,name=default_uint32,json=defaultUint32,def=83" json:"default_uint32,omitempty"`
+	xxx_hidden_DefaultUint64             uint64                                 `protobuf:"varint,84,opt,name=default_uint64,json=defaultUint64,def=84" json:"default_uint64,omitempty"`
+	xxx_hidden_DefaultSint32             int32                                  `protobuf:"zigzag32,85,opt,name=default_sint32,json=defaultSint32,def=-85" json:"default_sint32,omitempty"`
+	xxx_hidden_DefaultSint64             int64                                  `protobuf:"zigzag64,86,opt,name=default_sint64,json=defaultSint64,def=86" json:"default_sint64,omitempty"`
+	xxx_hidden_DefaultFixed32            uint32                                 `protobuf:"fixed32,87,opt,name=default_fixed32,json=defaultFixed32,def=87" json:"default_fixed32,omitempty"`
+	xxx_hidden_DefaultFixed64            uint64                                 `protobuf:"fixed64,88,opt,name=default_fixed64,json=defaultFixed64,def=88" json:"default_fixed64,omitempty"`
+	xxx_hidden_DefaultSfixed32           int32                                  `protobuf:"fixed32,89,opt,name=default_sfixed32,json=defaultSfixed32,def=89" json:"default_sfixed32,omitempty"`
+	xxx_hidden_DefaultSfixed64           int64                                  `protobuf:"fixed64,80,opt,name=default_sfixed64,json=defaultSfixed64,def=-90" json:"default_sfixed64,omitempty"`
+	xxx_hidden_DefaultFloat              float32                                `protobuf:"fixed32,91,opt,name=default_float,json=defaultFloat,def=91.5" json:"default_float,omitempty"`
+	xxx_hidden_DefaultDouble             float64                                `protobuf:"fixed64,92,opt,name=default_double,json=defaultDouble,def=92000" json:"default_double,omitempty"`
+	xxx_hidden_DefaultBool               bool                                   `protobuf:"varint,93,opt,name=default_bool,json=defaultBool,def=1" json:"default_bool,omitempty"`
+	xxx_hidden_DefaultString             *string                                `protobuf:"bytes,94,opt,name=default_string,json=defaultString,def=hello" json:"default_string,omitempty"`
+	xxx_hidden_DefaultBytes              []byte                                 `protobuf:"bytes,95,opt,name=default_bytes,json=defaultBytes,def=world" json:"default_bytes,omitempty"`
+	xxx_hidden_DefaultNestedEnum         TestAllTypes_NestedEnum                `protobuf:"varint,96,opt,name=default_nested_enum,json=defaultNestedEnum,enum=hybrid.goproto.proto.testeditions.TestAllTypes_NestedEnum,def=1" json:"default_nested_enum,omitempty"`
+	xxx_hidden_DefaultForeignEnum        ForeignEnum                            `protobuf:"varint,97,opt,name=default_foreign_enum,json=defaultForeignEnum,enum=hybrid.goproto.proto.testeditions.ForeignEnum,def=5" json:"default_foreign_enum,omitempty"`
+	xxx_hidden_OneofField                isTestAllTypes_OneofField              `protobuf_oneof:"oneof_field"`
+	xxx_hidden_OneofOptional             isTestAllTypes_OneofOptional           `protobuf_oneof:"oneof_optional"`
+	// Deprecated: Do not use. This will be deleted in the near future.
+	XXX_lazyUnmarshalInfo  protoimpl.LazyUnmarshalInfo
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [4]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+// Default values for TestAllTypes fields.
+const (
+	Default_TestAllTypes_DefaultInt32       = int32(81)
+	Default_TestAllTypes_DefaultInt64       = int64(82)
+	Default_TestAllTypes_DefaultUint32      = uint32(83)
+	Default_TestAllTypes_DefaultUint64      = uint64(84)
+	Default_TestAllTypes_DefaultSint32      = int32(-85)
+	Default_TestAllTypes_DefaultSint64      = int64(86)
+	Default_TestAllTypes_DefaultFixed32     = uint32(87)
+	Default_TestAllTypes_DefaultFixed64     = uint64(88)
+	Default_TestAllTypes_DefaultSfixed32    = int32(89)
+	Default_TestAllTypes_DefaultSfixed64    = int64(-90)
+	Default_TestAllTypes_DefaultFloat       = float32(91.5)
+	Default_TestAllTypes_DefaultDouble      = float64(92000)
+	Default_TestAllTypes_DefaultBool        = bool(true)
+	Default_TestAllTypes_DefaultString      = string("hello")
+	Default_TestAllTypes_DefaultNestedEnum  = TestAllTypes_BAR
+	Default_TestAllTypes_DefaultForeignEnum = ForeignEnum_FOREIGN_BAR
+)
+
+// Default values for TestAllTypes fields.
+var (
+	Default_TestAllTypes_DefaultBytes = []byte("world")
+)
+
+func (x *TestAllTypes) Reset() {
+	*x = TestAllTypes{}
+	mi := &file_internal_testprotos_testeditions_testeditions_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_testeditions_testeditions_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) 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) GetOptionalgroup() *TestAllTypes_OptionalGroup {
+	if x != nil {
+		return x.xxx_hidden_Optionalgroup
+	}
+	return nil
+}
+
+func (x *TestAllTypes) GetNotGroupLikeDelimited() *TestAllTypes_OptionalGroup {
+	if x != nil {
+		return x.xxx_hidden_NotGroupLikeDelimited
+	}
+	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]), 38) {
+			return x.xxx_hidden_OptionalNestedEnum
+		}
+	}
+	return TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) GetOptionalForeignEnum() ForeignEnum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[1]), 39) {
+			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]), 40) {
+			return x.xxx_hidden_OptionalImportEnum
+		}
+	}
+	return ImportEnum_IMPORT_ZERO
+}
+
+func (x *TestAllTypes) GetOptionalLazyNestedMessage() *TestAllTypes_NestedMessage {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[1]), 41) {
+			if protoimpl.X.AtomicCheckPointerIsNil(&x.xxx_hidden_OptionalLazyNestedMessage) {
+				protoimpl.X.UnmarshalField(x, 24)
+			}
+			var rv *TestAllTypes_NestedMessage
+			protoimpl.X.AtomicLoadPointer(protoimpl.Pointer(&x.xxx_hidden_OptionalLazyNestedMessage), protoimpl.Pointer(&rv))
+			return rv
+		}
+	}
+	return nil
+}
+
+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) GetRepeatedgroup() []*TestAllTypes_RepeatedGroup {
+	if x != nil {
+		if x.xxx_hidden_Repeatedgroup != nil {
+			return *x.xxx_hidden_Repeatedgroup
+		}
+	}
+	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) GetDefaultInt32() int32 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 81) {
+			return x.xxx_hidden_DefaultInt32
+		}
+	}
+	return Default_TestAllTypes_DefaultInt32
+}
+
+func (x *TestAllTypes) GetDefaultInt64() int64 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 82) {
+			return x.xxx_hidden_DefaultInt64
+		}
+	}
+	return Default_TestAllTypes_DefaultInt64
+}
+
+func (x *TestAllTypes) GetDefaultUint32() uint32 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 83) {
+			return x.xxx_hidden_DefaultUint32
+		}
+	}
+	return Default_TestAllTypes_DefaultUint32
+}
+
+func (x *TestAllTypes) GetDefaultUint64() uint64 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 84) {
+			return x.xxx_hidden_DefaultUint64
+		}
+	}
+	return Default_TestAllTypes_DefaultUint64
+}
+
+func (x *TestAllTypes) GetDefaultSint32() int32 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 85) {
+			return x.xxx_hidden_DefaultSint32
+		}
+	}
+	return Default_TestAllTypes_DefaultSint32
+}
+
+func (x *TestAllTypes) GetDefaultSint64() int64 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 86) {
+			return x.xxx_hidden_DefaultSint64
+		}
+	}
+	return Default_TestAllTypes_DefaultSint64
+}
+
+func (x *TestAllTypes) GetDefaultFixed32() uint32 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 87) {
+			return x.xxx_hidden_DefaultFixed32
+		}
+	}
+	return Default_TestAllTypes_DefaultFixed32
+}
+
+func (x *TestAllTypes) GetDefaultFixed64() uint64 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 88) {
+			return x.xxx_hidden_DefaultFixed64
+		}
+	}
+	return Default_TestAllTypes_DefaultFixed64
+}
+
+func (x *TestAllTypes) GetDefaultSfixed32() int32 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 89) {
+			return x.xxx_hidden_DefaultSfixed32
+		}
+	}
+	return Default_TestAllTypes_DefaultSfixed32
+}
+
+func (x *TestAllTypes) GetDefaultSfixed64() int64 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 90) {
+			return x.xxx_hidden_DefaultSfixed64
+		}
+	}
+	return Default_TestAllTypes_DefaultSfixed64
+}
+
+func (x *TestAllTypes) GetDefaultFloat() float32 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 91) {
+			return x.xxx_hidden_DefaultFloat
+		}
+	}
+	return Default_TestAllTypes_DefaultFloat
+}
+
+func (x *TestAllTypes) GetDefaultDouble() float64 {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 92) {
+			return x.xxx_hidden_DefaultDouble
+		}
+	}
+	return Default_TestAllTypes_DefaultDouble
+}
+
+func (x *TestAllTypes) GetDefaultBool() bool {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 93) {
+			return x.xxx_hidden_DefaultBool
+		}
+	}
+	return Default_TestAllTypes_DefaultBool
+}
+
+func (x *TestAllTypes) GetDefaultString() string {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 94) {
+			if x.xxx_hidden_DefaultString != nil {
+				return *x.xxx_hidden_DefaultString
+			}
+			return Default_TestAllTypes_DefaultString
+		}
+	}
+	return Default_TestAllTypes_DefaultString
+}
+
+func (x *TestAllTypes) GetDefaultBytes() []byte {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[2]), 95) {
+			return x.xxx_hidden_DefaultBytes
+		}
+	}
+	return append([]byte(nil), Default_TestAllTypes_DefaultBytes...)
+}
+
+func (x *TestAllTypes) GetDefaultNestedEnum() TestAllTypes_NestedEnum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[3]), 96) {
+			return x.xxx_hidden_DefaultNestedEnum
+		}
+	}
+	return Default_TestAllTypes_DefaultNestedEnum
+}
+
+func (x *TestAllTypes) GetDefaultForeignEnum() ForeignEnum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[3]), 97) {
+			return x.xxx_hidden_DefaultForeignEnum
+		}
+	}
+	return Default_TestAllTypes_DefaultForeignEnum
+}
+
+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) GetOneofgroup() *TestAllTypes_OneofGroup {
+	if x != nil {
+		if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_Oneofgroup); ok {
+			return x.Oneofgroup
+		}
+	}
+	return nil
+}
+
+func (x *TestAllTypes) GetOneofOptionalUint32() uint32 {
+	if x != nil {
+		if x, ok := x.xxx_hidden_OneofOptional.(*testAllTypes_OneofOptionalUint32); ok {
+			return x.OneofOptionalUint32
+		}
+	}
+	return 0
+}
+
+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) 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]), 18, 100)
+}
+
+func (x *TestAllTypes) SetOptionalInt64(v int64) {
+	x.xxx_hidden_OptionalInt64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 19, 100)
+}
+
+func (x *TestAllTypes) SetOptionalUint32(v uint32) {
+	x.xxx_hidden_OptionalUint32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 20, 100)
+}
+
+func (x *TestAllTypes) SetOptionalUint64(v uint64) {
+	x.xxx_hidden_OptionalUint64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 21, 100)
+}
+
+func (x *TestAllTypes) SetOptionalSint32(v int32) {
+	x.xxx_hidden_OptionalSint32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 22, 100)
+}
+
+func (x *TestAllTypes) SetOptionalSint64(v int64) {
+	x.xxx_hidden_OptionalSint64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 23, 100)
+}
+
+func (x *TestAllTypes) SetOptionalFixed32(v uint32) {
+	x.xxx_hidden_OptionalFixed32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 24, 100)
+}
+
+func (x *TestAllTypes) SetOptionalFixed64(v uint64) {
+	x.xxx_hidden_OptionalFixed64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 25, 100)
+}
+
+func (x *TestAllTypes) SetOptionalSfixed32(v int32) {
+	x.xxx_hidden_OptionalSfixed32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 26, 100)
+}
+
+func (x *TestAllTypes) SetOptionalSfixed64(v int64) {
+	x.xxx_hidden_OptionalSfixed64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 27, 100)
+}
+
+func (x *TestAllTypes) SetOptionalFloat(v float32) {
+	x.xxx_hidden_OptionalFloat = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 28, 100)
+}
+
+func (x *TestAllTypes) SetOptionalDouble(v float64) {
+	x.xxx_hidden_OptionalDouble = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 29, 100)
+}
+
+func (x *TestAllTypes) SetOptionalBool(v bool) {
+	x.xxx_hidden_OptionalBool = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 30, 100)
+}
+
+func (x *TestAllTypes) SetOptionalString(v string) {
+	x.xxx_hidden_OptionalString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 31, 100)
+}
+
+func (x *TestAllTypes) SetOptionalBytes(v []byte) {
+	if v == nil {
+		v = []byte{}
+	}
+	x.xxx_hidden_OptionalBytes = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[1]), 32, 100)
+}
+
+func (x *TestAllTypes) SetOptionalgroup(v *TestAllTypes_OptionalGroup) {
+	x.xxx_hidden_Optionalgroup = v
+}
+
+func (x *TestAllTypes) SetNotGroupLikeDelimited(v *TestAllTypes_OptionalGroup) {
+	x.xxx_hidden_NotGroupLikeDelimited = v
+}
+
+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]), 38, 100)
+}
+
+func (x *TestAllTypes) SetOptionalForeignEnum(v ForeignEnum) {
+	x.xxx_hidden_OptionalForeignEnum = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[1]), 39, 100)
+}
+
+func (x *TestAllTypes) SetOptionalImportEnum(v ImportEnum) {
+	x.xxx_hidden_OptionalImportEnum = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[1]), 40, 100)
+}
+
+func (x *TestAllTypes) SetOptionalLazyNestedMessage(v *TestAllTypes_NestedMessage) {
+	protoimpl.X.AtomicSetPointer(&x.xxx_hidden_OptionalLazyNestedMessage, v)
+	if v == nil {
+		protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 41)
+	} else {
+		protoimpl.X.SetPresent(&(x.XXX_presence[1]), 41, 100)
+	}
+}
+
+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) SetRepeatedgroup(v []*TestAllTypes_RepeatedGroup) {
+	x.xxx_hidden_Repeatedgroup = &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) SetDefaultInt32(v int32) {
+	x.xxx_hidden_DefaultInt32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 81, 100)
+}
+
+func (x *TestAllTypes) SetDefaultInt64(v int64) {
+	x.xxx_hidden_DefaultInt64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 82, 100)
+}
+
+func (x *TestAllTypes) SetDefaultUint32(v uint32) {
+	x.xxx_hidden_DefaultUint32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 83, 100)
+}
+
+func (x *TestAllTypes) SetDefaultUint64(v uint64) {
+	x.xxx_hidden_DefaultUint64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 84, 100)
+}
+
+func (x *TestAllTypes) SetDefaultSint32(v int32) {
+	x.xxx_hidden_DefaultSint32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 85, 100)
+}
+
+func (x *TestAllTypes) SetDefaultSint64(v int64) {
+	x.xxx_hidden_DefaultSint64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 86, 100)
+}
+
+func (x *TestAllTypes) SetDefaultFixed32(v uint32) {
+	x.xxx_hidden_DefaultFixed32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 87, 100)
+}
+
+func (x *TestAllTypes) SetDefaultFixed64(v uint64) {
+	x.xxx_hidden_DefaultFixed64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 88, 100)
+}
+
+func (x *TestAllTypes) SetDefaultSfixed32(v int32) {
+	x.xxx_hidden_DefaultSfixed32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 89, 100)
+}
+
+func (x *TestAllTypes) SetDefaultSfixed64(v int64) {
+	x.xxx_hidden_DefaultSfixed64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 90, 100)
+}
+
+func (x *TestAllTypes) SetDefaultFloat(v float32) {
+	x.xxx_hidden_DefaultFloat = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 91, 100)
+}
+
+func (x *TestAllTypes) SetDefaultDouble(v float64) {
+	x.xxx_hidden_DefaultDouble = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 92, 100)
+}
+
+func (x *TestAllTypes) SetDefaultBool(v bool) {
+	x.xxx_hidden_DefaultBool = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 93, 100)
+}
+
+func (x *TestAllTypes) SetDefaultString(v string) {
+	x.xxx_hidden_DefaultString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 94, 100)
+}
+
+func (x *TestAllTypes) SetDefaultBytes(v []byte) {
+	if v == nil {
+		v = []byte{}
+	}
+	x.xxx_hidden_DefaultBytes = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[2]), 95, 100)
+}
+
+func (x *TestAllTypes) SetDefaultNestedEnum(v TestAllTypes_NestedEnum) {
+	x.xxx_hidden_DefaultNestedEnum = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[3]), 96, 100)
+}
+
+func (x *TestAllTypes) SetDefaultForeignEnum(v ForeignEnum) {
+	x.xxx_hidden_DefaultForeignEnum = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[3]), 97, 100)
+}
+
+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) SetOneofgroup(v *TestAllTypes_OneofGroup) {
+	if v == nil {
+		x.xxx_hidden_OneofField = nil
+		return
+	}
+	x.xxx_hidden_OneofField = &testAllTypes_Oneofgroup{v}
+}
+
+func (x *TestAllTypes) SetOneofOptionalUint32(v uint32) {
+	x.xxx_hidden_OneofOptional = &testAllTypes_OneofOptionalUint32{v}
+}
+
+func (x *TestAllTypes) HasOptionalInt32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 18)
+}
+
+func (x *TestAllTypes) HasOptionalInt64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 19)
+}
+
+func (x *TestAllTypes) HasOptionalUint32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 20)
+}
+
+func (x *TestAllTypes) HasOptionalUint64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 21)
+}
+
+func (x *TestAllTypes) HasOptionalSint32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 22)
+}
+
+func (x *TestAllTypes) HasOptionalSint64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 23)
+}
+
+func (x *TestAllTypes) HasOptionalFixed32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 24)
+}
+
+func (x *TestAllTypes) HasOptionalFixed64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 25)
+}
+
+func (x *TestAllTypes) HasOptionalSfixed32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 26)
+}
+
+func (x *TestAllTypes) HasOptionalSfixed64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 27)
+}
+
+func (x *TestAllTypes) HasOptionalFloat() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 28)
+}
+
+func (x *TestAllTypes) HasOptionalDouble() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 29)
+}
+
+func (x *TestAllTypes) HasOptionalBool() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 30)
+}
+
+func (x *TestAllTypes) HasOptionalString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 31)
+}
+
+func (x *TestAllTypes) HasOptionalBytes() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[1]), 32)
+}
+
+func (x *TestAllTypes) HasOptionalgroup() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Optionalgroup != nil
+}
+
+func (x *TestAllTypes) HasNotGroupLikeDelimited() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_NotGroupLikeDelimited != nil
+}
+
+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]), 38)
+}
+
+func (x *TestAllTypes) HasOptionalForeignEnum() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[1]), 39)
+}
+
+func (x *TestAllTypes) HasOptionalImportEnum() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[1]), 40)
+}
+
+func (x *TestAllTypes) HasOptionalLazyNestedMessage() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[1]), 41)
+}
+
+func (x *TestAllTypes) HasDefaultInt32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 81)
+}
+
+func (x *TestAllTypes) HasDefaultInt64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 82)
+}
+
+func (x *TestAllTypes) HasDefaultUint32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 83)
+}
+
+func (x *TestAllTypes) HasDefaultUint64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 84)
+}
+
+func (x *TestAllTypes) HasDefaultSint32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 85)
+}
+
+func (x *TestAllTypes) HasDefaultSint64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 86)
+}
+
+func (x *TestAllTypes) HasDefaultFixed32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 87)
+}
+
+func (x *TestAllTypes) HasDefaultFixed64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 88)
+}
+
+func (x *TestAllTypes) HasDefaultSfixed32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 89)
+}
+
+func (x *TestAllTypes) HasDefaultSfixed64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 90)
+}
+
+func (x *TestAllTypes) HasDefaultFloat() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 91)
+}
+
+func (x *TestAllTypes) HasDefaultDouble() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 92)
+}
+
+func (x *TestAllTypes) HasDefaultBool() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 93)
+}
+
+func (x *TestAllTypes) HasDefaultString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 94)
+}
+
+func (x *TestAllTypes) HasDefaultBytes() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[2]), 95)
+}
+
+func (x *TestAllTypes) HasDefaultNestedEnum() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[3]), 96)
+}
+
+func (x *TestAllTypes) HasDefaultForeignEnum() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[3]), 97)
+}
+
+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) HasOneofgroup() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_OneofField.(*testAllTypes_Oneofgroup)
+	return ok
+}
+
+func (x *TestAllTypes) HasOneofOptional() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OneofOptional != nil
+}
+
+func (x *TestAllTypes) HasOneofOptionalUint32() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_OneofOptional.(*testAllTypes_OneofOptionalUint32)
+	return ok
+}
+
+func (x *TestAllTypes) ClearOptionalInt32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 18)
+	x.xxx_hidden_OptionalInt32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalInt64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 19)
+	x.xxx_hidden_OptionalInt64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalUint32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 20)
+	x.xxx_hidden_OptionalUint32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalUint64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 21)
+	x.xxx_hidden_OptionalUint64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSint32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 22)
+	x.xxx_hidden_OptionalSint32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSint64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 23)
+	x.xxx_hidden_OptionalSint64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalFixed32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 24)
+	x.xxx_hidden_OptionalFixed32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalFixed64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 25)
+	x.xxx_hidden_OptionalFixed64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSfixed32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 26)
+	x.xxx_hidden_OptionalSfixed32 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalSfixed64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 27)
+	x.xxx_hidden_OptionalSfixed64 = 0
+}
+
+func (x *TestAllTypes) ClearOptionalFloat() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 28)
+	x.xxx_hidden_OptionalFloat = 0
+}
+
+func (x *TestAllTypes) ClearOptionalDouble() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 29)
+	x.xxx_hidden_OptionalDouble = 0
+}
+
+func (x *TestAllTypes) ClearOptionalBool() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 30)
+	x.xxx_hidden_OptionalBool = false
+}
+
+func (x *TestAllTypes) ClearOptionalString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 31)
+	x.xxx_hidden_OptionalString = nil
+}
+
+func (x *TestAllTypes) ClearOptionalBytes() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 32)
+	x.xxx_hidden_OptionalBytes = nil
+}
+
+func (x *TestAllTypes) ClearOptionalgroup() {
+	x.xxx_hidden_Optionalgroup = nil
+}
+
+func (x *TestAllTypes) ClearNotGroupLikeDelimited() {
+	x.xxx_hidden_NotGroupLikeDelimited = 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]), 38)
+	x.xxx_hidden_OptionalNestedEnum = TestAllTypes_FOO
+}
+
+func (x *TestAllTypes) ClearOptionalForeignEnum() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 39)
+	x.xxx_hidden_OptionalForeignEnum = ForeignEnum_FOREIGN_ZERO
+}
+
+func (x *TestAllTypes) ClearOptionalImportEnum() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 40)
+	x.xxx_hidden_OptionalImportEnum = ImportEnum_IMPORT_ZERO
+}
+
+func (x *TestAllTypes) ClearOptionalLazyNestedMessage() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 41)
+	protoimpl.X.AtomicSetPointer(&x.xxx_hidden_OptionalLazyNestedMessage, (*TestAllTypes_NestedMessage)(nil))
+}
+
+func (x *TestAllTypes) ClearDefaultInt32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 81)
+}
+
+func (x *TestAllTypes) ClearDefaultInt64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 82)
+}
+
+func (x *TestAllTypes) ClearDefaultUint32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 83)
+}
+
+func (x *TestAllTypes) ClearDefaultUint64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 84)
+}
+
+func (x *TestAllTypes) ClearDefaultSint32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 85)
+}
+
+func (x *TestAllTypes) ClearDefaultSint64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 86)
+}
+
+func (x *TestAllTypes) ClearDefaultFixed32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 87)
+}
+
+func (x *TestAllTypes) ClearDefaultFixed64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 88)
+}
+
+func (x *TestAllTypes) ClearDefaultSfixed32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 89)
+}
+
+func (x *TestAllTypes) ClearDefaultSfixed64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 90)
+}
+
+func (x *TestAllTypes) ClearDefaultFloat() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 91)
+}
+
+func (x *TestAllTypes) ClearDefaultDouble() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 92)
+}
+
+func (x *TestAllTypes) ClearDefaultBool() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 93)
+}
+
+func (x *TestAllTypes) ClearDefaultString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 94)
+}
+
+func (x *TestAllTypes) ClearDefaultBytes() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[2]), 95)
+}
+
+func (x *TestAllTypes) ClearDefaultNestedEnum() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[3]), 96)
+}
+
+func (x *TestAllTypes) ClearDefaultForeignEnum() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[3]), 97)
+}
+
+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
+	}
+}
+
+func (x *TestAllTypes) ClearOneofgroup() {
+	if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_Oneofgroup); ok {
+		x.xxx_hidden_OneofField = nil
+	}
+}
+
+func (x *TestAllTypes) ClearOneofOptional() {
+	x.xxx_hidden_OneofOptional = nil
+}
+
+func (x *TestAllTypes) ClearOneofOptionalUint32() {
+	if _, ok := x.xxx_hidden_OneofOptional.(*testAllTypes_OneofOptionalUint32); ok {
+		x.xxx_hidden_OneofOptional = 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
+const TestAllTypes_Oneofgroup_case case_TestAllTypes_OneofField = 121
+
+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
+	case *testAllTypes_Oneofgroup:
+		return TestAllTypes_Oneofgroup_case
+	default:
+		return TestAllTypes_OneofField_not_set_case
+	}
+}
+
+const TestAllTypes_OneofOptional_not_set_case case_TestAllTypes_OneofOptional = 0
+const TestAllTypes_OneofOptionalUint32_case case_TestAllTypes_OneofOptional = 120
+
+func (x *TestAllTypes) WhichOneofOptional() case_TestAllTypes_OneofOptional {
+	if x == nil {
+		return TestAllTypes_OneofOptional_not_set_case
+	}
+	switch x.xxx_hidden_OneofOptional.(type) {
+	case *testAllTypes_OneofOptionalUint32:
+		return TestAllTypes_OneofOptionalUint32_case
+	default:
+		return TestAllTypes_OneofOptional_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
+	// message-typed fields elided, as they cannot specify implicit presence.
+	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
+	Optionalgroup             *TestAllTypes_OptionalGroup
+	NotGroupLikeDelimited     *TestAllTypes_OptionalGroup
+	OptionalNestedMessage     *TestAllTypes_NestedMessage
+	OptionalForeignMessage    *ForeignMessage
+	OptionalImportMessage     *ImportMessage
+	OptionalNestedEnum        *TestAllTypes_NestedEnum
+	OptionalForeignEnum       *ForeignEnum
+	OptionalImportEnum        *ImportEnum
+	OptionalLazyNestedMessage *TestAllTypes_NestedMessage
+	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
+	Repeatedgroup             []*TestAllTypes_RepeatedGroup
+	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
+	// Singular with defaults
+	DefaultInt32       *int32
+	DefaultInt64       *int64
+	DefaultUint32      *uint32
+	DefaultUint64      *uint64
+	DefaultSint32      *int32
+	DefaultSint64      *int64
+	DefaultFixed32     *uint32
+	DefaultFixed64     *uint64
+	DefaultSfixed32    *int32
+	DefaultSfixed64    *int64
+	DefaultFloat       *float32
+	DefaultDouble      *float64
+	DefaultBool        *bool
+	DefaultString      *string
+	DefaultBytes       []byte
+	DefaultNestedEnum  *TestAllTypes_NestedEnum
+	DefaultForeignEnum *ForeignEnum
+	// 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
+	Oneofgroup         *TestAllTypes_OneofGroup
+	// -- end of xxx_hidden_OneofField
+	// A oneof with exactly one field.
+
+	// Fields of oneof xxx_hidden_OneofOptional:
+	OneofOptionalUint32 *uint32
+	// -- end of xxx_hidden_OneofOptional
+}
+
+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_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]), 18, 100)
+		x.xxx_hidden_OptionalInt32 = *b.OptionalInt32
+	}
+	if b.OptionalInt64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 19, 100)
+		x.xxx_hidden_OptionalInt64 = *b.OptionalInt64
+	}
+	if b.OptionalUint32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 20, 100)
+		x.xxx_hidden_OptionalUint32 = *b.OptionalUint32
+	}
+	if b.OptionalUint64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 21, 100)
+		x.xxx_hidden_OptionalUint64 = *b.OptionalUint64
+	}
+	if b.OptionalSint32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 22, 100)
+		x.xxx_hidden_OptionalSint32 = *b.OptionalSint32
+	}
+	if b.OptionalSint64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 23, 100)
+		x.xxx_hidden_OptionalSint64 = *b.OptionalSint64
+	}
+	if b.OptionalFixed32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 24, 100)
+		x.xxx_hidden_OptionalFixed32 = *b.OptionalFixed32
+	}
+	if b.OptionalFixed64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 25, 100)
+		x.xxx_hidden_OptionalFixed64 = *b.OptionalFixed64
+	}
+	if b.OptionalSfixed32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 26, 100)
+		x.xxx_hidden_OptionalSfixed32 = *b.OptionalSfixed32
+	}
+	if b.OptionalSfixed64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 27, 100)
+		x.xxx_hidden_OptionalSfixed64 = *b.OptionalSfixed64
+	}
+	if b.OptionalFloat != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 28, 100)
+		x.xxx_hidden_OptionalFloat = *b.OptionalFloat
+	}
+	if b.OptionalDouble != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 29, 100)
+		x.xxx_hidden_OptionalDouble = *b.OptionalDouble
+	}
+	if b.OptionalBool != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 30, 100)
+		x.xxx_hidden_OptionalBool = *b.OptionalBool
+	}
+	if b.OptionalString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 31, 100)
+		x.xxx_hidden_OptionalString = b.OptionalString
+	}
+	if b.OptionalBytes != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 32, 100)
+		x.xxx_hidden_OptionalBytes = b.OptionalBytes
+	}
+	x.xxx_hidden_Optionalgroup = b.Optionalgroup
+	x.xxx_hidden_NotGroupLikeDelimited = b.NotGroupLikeDelimited
+	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]), 38, 100)
+		x.xxx_hidden_OptionalNestedEnum = *b.OptionalNestedEnum
+	}
+	if b.OptionalForeignEnum != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 39, 100)
+		x.xxx_hidden_OptionalForeignEnum = *b.OptionalForeignEnum
+	}
+	if b.OptionalImportEnum != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 40, 100)
+		x.xxx_hidden_OptionalImportEnum = *b.OptionalImportEnum
+	}
+	if b.OptionalLazyNestedMessage != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 41, 100)
+		x.xxx_hidden_OptionalLazyNestedMessage = b.OptionalLazyNestedMessage
+	}
+	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_Repeatedgroup = &b.Repeatedgroup
+	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.DefaultInt32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 81, 100)
+		x.xxx_hidden_DefaultInt32 = *b.DefaultInt32
+	}
+	if b.DefaultInt64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 82, 100)
+		x.xxx_hidden_DefaultInt64 = *b.DefaultInt64
+	}
+	if b.DefaultUint32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 83, 100)
+		x.xxx_hidden_DefaultUint32 = *b.DefaultUint32
+	}
+	if b.DefaultUint64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 84, 100)
+		x.xxx_hidden_DefaultUint64 = *b.DefaultUint64
+	}
+	if b.DefaultSint32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 85, 100)
+		x.xxx_hidden_DefaultSint32 = *b.DefaultSint32
+	}
+	if b.DefaultSint64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 86, 100)
+		x.xxx_hidden_DefaultSint64 = *b.DefaultSint64
+	}
+	if b.DefaultFixed32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 87, 100)
+		x.xxx_hidden_DefaultFixed32 = *b.DefaultFixed32
+	}
+	if b.DefaultFixed64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 88, 100)
+		x.xxx_hidden_DefaultFixed64 = *b.DefaultFixed64
+	}
+	if b.DefaultSfixed32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 89, 100)
+		x.xxx_hidden_DefaultSfixed32 = *b.DefaultSfixed32
+	}
+	if b.DefaultSfixed64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 90, 100)
+		x.xxx_hidden_DefaultSfixed64 = *b.DefaultSfixed64
+	}
+	if b.DefaultFloat != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 91, 100)
+		x.xxx_hidden_DefaultFloat = *b.DefaultFloat
+	}
+	if b.DefaultDouble != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 92, 100)
+		x.xxx_hidden_DefaultDouble = *b.DefaultDouble
+	}
+	if b.DefaultBool != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 93, 100)
+		x.xxx_hidden_DefaultBool = *b.DefaultBool
+	}
+	if b.DefaultString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 94, 100)
+		x.xxx_hidden_DefaultString = b.DefaultString
+	}
+	if b.DefaultBytes != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[2]), 95, 100)
+		x.xxx_hidden_DefaultBytes = b.DefaultBytes
+	}
+	if b.DefaultNestedEnum != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[3]), 96, 100)
+		x.xxx_hidden_DefaultNestedEnum = *b.DefaultNestedEnum
+	}
+	if b.DefaultForeignEnum != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[3]), 97, 100)
+		x.xxx_hidden_DefaultForeignEnum = *b.DefaultForeignEnum
+	}
+	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}
+	}
+	if b.Oneofgroup != nil {
+		x.xxx_hidden_OneofField = &testAllTypes_Oneofgroup{b.Oneofgroup}
+	}
+	if b.OneofOptionalUint32 != nil {
+		x.xxx_hidden_OneofOptional = &testAllTypes_OneofOptionalUint32{*b.OneofOptionalUint32}
+	}
+	return m0
+}
+
+type case_TestAllTypes_OneofField protoreflect.FieldNumber
+
+func (x case_TestAllTypes_OneofField) String() string {
+	md := file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[0].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type case_TestAllTypes_OneofOptional protoreflect.FieldNumber
+
+func (x case_TestAllTypes_OneofOptional) String() string {
+	md := file_internal_testprotos_testeditions_testeditions_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,oneof"`
+}
+
+type testAllTypes_OneofNestedMessage struct {
+	OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,oneof"`
+}
+
+type testAllTypes_OneofString struct {
+	OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,oneof"`
+}
+
+type testAllTypes_OneofBytes struct {
+	OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,oneof"`
+}
+
+type testAllTypes_OneofBool struct {
+	OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,oneof"`
+}
+
+type testAllTypes_OneofUint64 struct {
+	OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,oneof"`
+}
+
+type testAllTypes_OneofFloat struct {
+	OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,oneof"`
+}
+
+type testAllTypes_OneofDouble struct {
+	OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,oneof"`
+}
+
+type testAllTypes_OneofEnum struct {
+	OneofEnum TestAllTypes_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,enum=hybrid.goproto.proto.testeditions.TestAllTypes_NestedEnum,oneof"`
+}
+
+type testAllTypes_Oneofgroup struct {
+	Oneofgroup *TestAllTypes_OneofGroup `protobuf:"group,121,opt,name=OneofGroup,json=oneofgroup,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() {}
+
+func (*testAllTypes_Oneofgroup) isTestAllTypes_OneofField() {}
+
+type isTestAllTypes_OneofOptional interface {
+	isTestAllTypes_OneofOptional()
+}
+
+type testAllTypes_OneofOptionalUint32 struct {
+	OneofOptionalUint32 uint32 `protobuf:"varint,120,opt,name=oneof_optional_uint32,json=oneofOptionalUint32,oneof"`
+}
+
+func (*testAllTypes_OneofOptionalUint32) isTestAllTypes_OneofOptional() {}
+
+type TestManyMessageFieldsMessage struct {
+	state           protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_F1   *TestAllTypes          `protobuf:"bytes,1,opt,name=f1" json:"f1,omitempty"`
+	xxx_hidden_F2   *TestAllTypes          `protobuf:"bytes,2,opt,name=f2" json:"f2,omitempty"`
+	xxx_hidden_F3   *TestAllTypes          `protobuf:"bytes,3,opt,name=f3" json:"f3,omitempty"`
+	xxx_hidden_F4   *TestAllTypes          `protobuf:"bytes,4,opt,name=f4" json:"f4,omitempty"`
+	xxx_hidden_F5   *TestAllTypes          `protobuf:"bytes,5,opt,name=f5" json:"f5,omitempty"`
+	xxx_hidden_F6   *TestAllTypes          `protobuf:"bytes,6,opt,name=f6" json:"f6,omitempty"`
+	xxx_hidden_F7   *TestAllTypes          `protobuf:"bytes,7,opt,name=f7" json:"f7,omitempty"`
+	xxx_hidden_F8   *TestAllTypes          `protobuf:"bytes,8,opt,name=f8" json:"f8,omitempty"`
+	xxx_hidden_F9   *TestAllTypes          `protobuf:"bytes,9,opt,name=f9" json:"f9,omitempty"`
+	xxx_hidden_F10  *TestAllTypes          `protobuf:"bytes,10,opt,name=f10" json:"f10,omitempty"`
+	xxx_hidden_F11  *TestAllTypes          `protobuf:"bytes,11,opt,name=f11" json:"f11,omitempty"`
+	xxx_hidden_F12  *TestAllTypes          `protobuf:"bytes,12,opt,name=f12" json:"f12,omitempty"`
+	xxx_hidden_F13  *TestAllTypes          `protobuf:"bytes,13,opt,name=f13" json:"f13,omitempty"`
+	xxx_hidden_F14  *TestAllTypes          `protobuf:"bytes,14,opt,name=f14" json:"f14,omitempty"`
+	xxx_hidden_F15  *TestAllTypes          `protobuf:"bytes,15,opt,name=f15" json:"f15,omitempty"`
+	xxx_hidden_F16  *TestAllTypes          `protobuf:"bytes,16,opt,name=f16" json:"f16,omitempty"`
+	xxx_hidden_F17  *TestAllTypes          `protobuf:"bytes,17,opt,name=f17" json:"f17,omitempty"`
+	xxx_hidden_F18  *TestAllTypes          `protobuf:"bytes,18,opt,name=f18" json:"f18,omitempty"`
+	xxx_hidden_F19  *TestAllTypes          `protobuf:"bytes,19,opt,name=f19" json:"f19,omitempty"`
+	xxx_hidden_F20  *TestAllTypes          `protobuf:"bytes,20,opt,name=f20" json:"f20,omitempty"`
+	xxx_hidden_F21  *TestAllTypes          `protobuf:"bytes,21,opt,name=f21" json:"f21,omitempty"`
+	xxx_hidden_F22  *TestAllTypes          `protobuf:"bytes,22,opt,name=f22" json:"f22,omitempty"`
+	xxx_hidden_F23  *TestAllTypes          `protobuf:"bytes,23,opt,name=f23" json:"f23,omitempty"`
+	xxx_hidden_F24  *TestAllTypes          `protobuf:"bytes,24,opt,name=f24" json:"f24,omitempty"`
+	xxx_hidden_F25  *TestAllTypes          `protobuf:"bytes,25,opt,name=f25" json:"f25,omitempty"`
+	xxx_hidden_F26  *TestAllTypes          `protobuf:"bytes,26,opt,name=f26" json:"f26,omitempty"`
+	xxx_hidden_F27  *TestAllTypes          `protobuf:"bytes,27,opt,name=f27" json:"f27,omitempty"`
+	xxx_hidden_F28  *TestAllTypes          `protobuf:"bytes,28,opt,name=f28" json:"f28,omitempty"`
+	xxx_hidden_F29  *TestAllTypes          `protobuf:"bytes,29,opt,name=f29" json:"f29,omitempty"`
+	xxx_hidden_F30  *TestAllTypes          `protobuf:"bytes,30,opt,name=f30" json:"f30,omitempty"`
+	xxx_hidden_F31  *TestAllTypes          `protobuf:"bytes,31,opt,name=f31" json:"f31,omitempty"`
+	xxx_hidden_F32  *TestAllTypes          `protobuf:"bytes,32,opt,name=f32" json:"f32,omitempty"`
+	xxx_hidden_F33  *TestAllTypes          `protobuf:"bytes,33,opt,name=f33" json:"f33,omitempty"`
+	xxx_hidden_F34  *TestAllTypes          `protobuf:"bytes,34,opt,name=f34" json:"f34,omitempty"`
+	xxx_hidden_F35  *TestAllTypes          `protobuf:"bytes,35,opt,name=f35" json:"f35,omitempty"`
+	xxx_hidden_F36  *TestAllTypes          `protobuf:"bytes,36,opt,name=f36" json:"f36,omitempty"`
+	xxx_hidden_F37  *TestAllTypes          `protobuf:"bytes,37,opt,name=f37" json:"f37,omitempty"`
+	xxx_hidden_F38  *TestAllTypes          `protobuf:"bytes,38,opt,name=f38" json:"f38,omitempty"`
+	xxx_hidden_F39  *TestAllTypes          `protobuf:"bytes,39,opt,name=f39" json:"f39,omitempty"`
+	xxx_hidden_F40  *TestAllTypes          `protobuf:"bytes,40,opt,name=f40" json:"f40,omitempty"`
+	xxx_hidden_F41  *TestAllTypes          `protobuf:"bytes,41,opt,name=f41" json:"f41,omitempty"`
+	xxx_hidden_F42  *TestAllTypes          `protobuf:"bytes,42,opt,name=f42" json:"f42,omitempty"`
+	xxx_hidden_F43  *TestAllTypes          `protobuf:"bytes,43,opt,name=f43" json:"f43,omitempty"`
+	xxx_hidden_F44  *TestAllTypes          `protobuf:"bytes,44,opt,name=f44" json:"f44,omitempty"`
+	xxx_hidden_F45  *TestAllTypes          `protobuf:"bytes,45,opt,name=f45" json:"f45,omitempty"`
+	xxx_hidden_F46  *TestAllTypes          `protobuf:"bytes,46,opt,name=f46" json:"f46,omitempty"`
+	xxx_hidden_F47  *TestAllTypes          `protobuf:"bytes,47,opt,name=f47" json:"f47,omitempty"`
+	xxx_hidden_F48  *TestAllTypes          `protobuf:"bytes,48,opt,name=f48" json:"f48,omitempty"`
+	xxx_hidden_F49  *TestAllTypes          `protobuf:"bytes,49,opt,name=f49" json:"f49,omitempty"`
+	xxx_hidden_F50  *TestAllTypes          `protobuf:"bytes,50,opt,name=f50" json:"f50,omitempty"`
+	xxx_hidden_F51  *TestAllTypes          `protobuf:"bytes,51,opt,name=f51" json:"f51,omitempty"`
+	xxx_hidden_F52  *TestAllTypes          `protobuf:"bytes,52,opt,name=f52" json:"f52,omitempty"`
+	xxx_hidden_F53  *TestAllTypes          `protobuf:"bytes,53,opt,name=f53" json:"f53,omitempty"`
+	xxx_hidden_F54  *TestAllTypes          `protobuf:"bytes,54,opt,name=f54" json:"f54,omitempty"`
+	xxx_hidden_F55  *TestAllTypes          `protobuf:"bytes,55,opt,name=f55" json:"f55,omitempty"`
+	xxx_hidden_F56  *TestAllTypes          `protobuf:"bytes,56,opt,name=f56" json:"f56,omitempty"`
+	xxx_hidden_F57  *TestAllTypes          `protobuf:"bytes,57,opt,name=f57" json:"f57,omitempty"`
+	xxx_hidden_F58  *TestAllTypes          `protobuf:"bytes,58,opt,name=f58" json:"f58,omitempty"`
+	xxx_hidden_F59  *TestAllTypes          `protobuf:"bytes,59,opt,name=f59" json:"f59,omitempty"`
+	xxx_hidden_F60  *TestAllTypes          `protobuf:"bytes,60,opt,name=f60" json:"f60,omitempty"`
+	xxx_hidden_F61  *TestAllTypes          `protobuf:"bytes,61,opt,name=f61" json:"f61,omitempty"`
+	xxx_hidden_F62  *TestAllTypes          `protobuf:"bytes,62,opt,name=f62" json:"f62,omitempty"`
+	xxx_hidden_F63  *TestAllTypes          `protobuf:"bytes,63,opt,name=f63" json:"f63,omitempty"`
+	xxx_hidden_F64  *TestAllTypes          `protobuf:"bytes,64,opt,name=f64" json:"f64,omitempty"`
+	xxx_hidden_F65  *TestAllTypes          `protobuf:"bytes,65,opt,name=f65" json:"f65,omitempty"`
+	xxx_hidden_F66  *TestAllTypes          `protobuf:"bytes,66,opt,name=f66" json:"f66,omitempty"`
+	xxx_hidden_F67  *TestAllTypes          `protobuf:"bytes,67,opt,name=f67" json:"f67,omitempty"`
+	xxx_hidden_F68  *TestAllTypes          `protobuf:"bytes,68,opt,name=f68" json:"f68,omitempty"`
+	xxx_hidden_F69  *TestAllTypes          `protobuf:"bytes,69,opt,name=f69" json:"f69,omitempty"`
+	xxx_hidden_F70  *TestAllTypes          `protobuf:"bytes,70,opt,name=f70" json:"f70,omitempty"`
+	xxx_hidden_F71  *TestAllTypes          `protobuf:"bytes,71,opt,name=f71" json:"f71,omitempty"`
+	xxx_hidden_F72  *TestAllTypes          `protobuf:"bytes,72,opt,name=f72" json:"f72,omitempty"`
+	xxx_hidden_F73  *TestAllTypes          `protobuf:"bytes,73,opt,name=f73" json:"f73,omitempty"`
+	xxx_hidden_F74  *TestAllTypes          `protobuf:"bytes,74,opt,name=f74" json:"f74,omitempty"`
+	xxx_hidden_F75  *TestAllTypes          `protobuf:"bytes,75,opt,name=f75" json:"f75,omitempty"`
+	xxx_hidden_F76  *TestAllTypes          `protobuf:"bytes,76,opt,name=f76" json:"f76,omitempty"`
+	xxx_hidden_F77  *TestAllTypes          `protobuf:"bytes,77,opt,name=f77" json:"f77,omitempty"`
+	xxx_hidden_F78  *TestAllTypes          `protobuf:"bytes,78,opt,name=f78" json:"f78,omitempty"`
+	xxx_hidden_F79  *TestAllTypes          `protobuf:"bytes,79,opt,name=f79" json:"f79,omitempty"`
+	xxx_hidden_F80  *TestAllTypes          `protobuf:"bytes,80,opt,name=f80" json:"f80,omitempty"`
+	xxx_hidden_F81  *TestAllTypes          `protobuf:"bytes,81,opt,name=f81" json:"f81,omitempty"`
+	xxx_hidden_F82  *TestAllTypes          `protobuf:"bytes,82,opt,name=f82" json:"f82,omitempty"`
+	xxx_hidden_F83  *TestAllTypes          `protobuf:"bytes,83,opt,name=f83" json:"f83,omitempty"`
+	xxx_hidden_F84  *TestAllTypes          `protobuf:"bytes,84,opt,name=f84" json:"f84,omitempty"`
+	xxx_hidden_F85  *TestAllTypes          `protobuf:"bytes,85,opt,name=f85" json:"f85,omitempty"`
+	xxx_hidden_F86  *TestAllTypes          `protobuf:"bytes,86,opt,name=f86" json:"f86,omitempty"`
+	xxx_hidden_F87  *TestAllTypes          `protobuf:"bytes,87,opt,name=f87" json:"f87,omitempty"`
+	xxx_hidden_F88  *TestAllTypes          `protobuf:"bytes,88,opt,name=f88" json:"f88,omitempty"`
+	xxx_hidden_F89  *TestAllTypes          `protobuf:"bytes,89,opt,name=f89" json:"f89,omitempty"`
+	xxx_hidden_F90  *TestAllTypes          `protobuf:"bytes,90,opt,name=f90" json:"f90,omitempty"`
+	xxx_hidden_F91  *TestAllTypes          `protobuf:"bytes,91,opt,name=f91" json:"f91,omitempty"`
+	xxx_hidden_F92  *TestAllTypes          `protobuf:"bytes,92,opt,name=f92" json:"f92,omitempty"`
+	xxx_hidden_F93  *TestAllTypes          `protobuf:"bytes,93,opt,name=f93" json:"f93,omitempty"`
+	xxx_hidden_F94  *TestAllTypes          `protobuf:"bytes,94,opt,name=f94" json:"f94,omitempty"`
+	xxx_hidden_F95  *TestAllTypes          `protobuf:"bytes,95,opt,name=f95" json:"f95,omitempty"`
+	xxx_hidden_F96  *TestAllTypes          `protobuf:"bytes,96,opt,name=f96" json:"f96,omitempty"`
+	xxx_hidden_F97  *TestAllTypes          `protobuf:"bytes,97,opt,name=f97" json:"f97,omitempty"`
+	xxx_hidden_F98  *TestAllTypes          `protobuf:"bytes,98,opt,name=f98" json:"f98,omitempty"`
+	xxx_hidden_F99  *TestAllTypes          `protobuf:"bytes,99,opt,name=f99" json:"f99,omitempty"`
+	xxx_hidden_F100 *TestAllTypes          `protobuf:"bytes,100,opt,name=f100" json:"f100,omitempty"`
+	unknownFields   protoimpl.UnknownFields
+	sizeCache       protoimpl.SizeCache
+}
+
+func (x *TestManyMessageFieldsMessage) Reset() {
+	*x = TestManyMessageFieldsMessage{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestManyMessageFieldsMessage) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestManyMessageFieldsMessage) ProtoMessage() {}
+
+func (x *TestManyMessageFieldsMessage) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_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 *TestManyMessageFieldsMessage) GetF1() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F1
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF2() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F2
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF3() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F3
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF4() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F4
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF5() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F5
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF6() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F6
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF7() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F7
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF8() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F8
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF9() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F9
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF10() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F10
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF11() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F11
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF12() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F12
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF13() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F13
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF14() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F14
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF15() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F15
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF16() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F16
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF17() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F17
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF18() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F18
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF19() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F19
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF20() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F20
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF21() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F21
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF22() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F22
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF23() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F23
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF24() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F24
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF25() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F25
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF26() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F26
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF27() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F27
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF28() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F28
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF29() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F29
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF30() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F30
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF31() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F31
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF32() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F32
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF33() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F33
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF34() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F34
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF35() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F35
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF36() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F36
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF37() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F37
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF38() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F38
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF39() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F39
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF40() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F40
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF41() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F41
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF42() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F42
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF43() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F43
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF44() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F44
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF45() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F45
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF46() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F46
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF47() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F47
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF48() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F48
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF49() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F49
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF50() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F50
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF51() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F51
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF52() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F52
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF53() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F53
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF54() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F54
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF55() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F55
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF56() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F56
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF57() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F57
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF58() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F58
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF59() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F59
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF60() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F60
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF61() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F61
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF62() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F62
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF63() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F63
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF64() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F64
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF65() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F65
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF66() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F66
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF67() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F67
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF68() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F68
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF69() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F69
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF70() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F70
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF71() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F71
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF72() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F72
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF73() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F73
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF74() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F74
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF75() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F75
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF76() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F76
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF77() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F77
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF78() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F78
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF79() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F79
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF80() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F80
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF81() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F81
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF82() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F82
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF83() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F83
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF84() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F84
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF85() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F85
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF86() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F86
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF87() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F87
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF88() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F88
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF89() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F89
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF90() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F90
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF91() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F91
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF92() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F92
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF93() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F93
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF94() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F94
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF95() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F95
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF96() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F96
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF97() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F97
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF98() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F98
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF99() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F99
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) GetF100() *TestAllTypes {
+	if x != nil {
+		return x.xxx_hidden_F100
+	}
+	return nil
+}
+
+func (x *TestManyMessageFieldsMessage) SetF1(v *TestAllTypes) {
+	x.xxx_hidden_F1 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF2(v *TestAllTypes) {
+	x.xxx_hidden_F2 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF3(v *TestAllTypes) {
+	x.xxx_hidden_F3 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF4(v *TestAllTypes) {
+	x.xxx_hidden_F4 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF5(v *TestAllTypes) {
+	x.xxx_hidden_F5 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF6(v *TestAllTypes) {
+	x.xxx_hidden_F6 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF7(v *TestAllTypes) {
+	x.xxx_hidden_F7 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF8(v *TestAllTypes) {
+	x.xxx_hidden_F8 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF9(v *TestAllTypes) {
+	x.xxx_hidden_F9 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF10(v *TestAllTypes) {
+	x.xxx_hidden_F10 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF11(v *TestAllTypes) {
+	x.xxx_hidden_F11 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF12(v *TestAllTypes) {
+	x.xxx_hidden_F12 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF13(v *TestAllTypes) {
+	x.xxx_hidden_F13 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF14(v *TestAllTypes) {
+	x.xxx_hidden_F14 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF15(v *TestAllTypes) {
+	x.xxx_hidden_F15 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF16(v *TestAllTypes) {
+	x.xxx_hidden_F16 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF17(v *TestAllTypes) {
+	x.xxx_hidden_F17 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF18(v *TestAllTypes) {
+	x.xxx_hidden_F18 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF19(v *TestAllTypes) {
+	x.xxx_hidden_F19 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF20(v *TestAllTypes) {
+	x.xxx_hidden_F20 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF21(v *TestAllTypes) {
+	x.xxx_hidden_F21 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF22(v *TestAllTypes) {
+	x.xxx_hidden_F22 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF23(v *TestAllTypes) {
+	x.xxx_hidden_F23 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF24(v *TestAllTypes) {
+	x.xxx_hidden_F24 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF25(v *TestAllTypes) {
+	x.xxx_hidden_F25 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF26(v *TestAllTypes) {
+	x.xxx_hidden_F26 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF27(v *TestAllTypes) {
+	x.xxx_hidden_F27 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF28(v *TestAllTypes) {
+	x.xxx_hidden_F28 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF29(v *TestAllTypes) {
+	x.xxx_hidden_F29 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF30(v *TestAllTypes) {
+	x.xxx_hidden_F30 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF31(v *TestAllTypes) {
+	x.xxx_hidden_F31 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF32(v *TestAllTypes) {
+	x.xxx_hidden_F32 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF33(v *TestAllTypes) {
+	x.xxx_hidden_F33 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF34(v *TestAllTypes) {
+	x.xxx_hidden_F34 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF35(v *TestAllTypes) {
+	x.xxx_hidden_F35 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF36(v *TestAllTypes) {
+	x.xxx_hidden_F36 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF37(v *TestAllTypes) {
+	x.xxx_hidden_F37 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF38(v *TestAllTypes) {
+	x.xxx_hidden_F38 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF39(v *TestAllTypes) {
+	x.xxx_hidden_F39 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF40(v *TestAllTypes) {
+	x.xxx_hidden_F40 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF41(v *TestAllTypes) {
+	x.xxx_hidden_F41 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF42(v *TestAllTypes) {
+	x.xxx_hidden_F42 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF43(v *TestAllTypes) {
+	x.xxx_hidden_F43 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF44(v *TestAllTypes) {
+	x.xxx_hidden_F44 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF45(v *TestAllTypes) {
+	x.xxx_hidden_F45 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF46(v *TestAllTypes) {
+	x.xxx_hidden_F46 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF47(v *TestAllTypes) {
+	x.xxx_hidden_F47 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF48(v *TestAllTypes) {
+	x.xxx_hidden_F48 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF49(v *TestAllTypes) {
+	x.xxx_hidden_F49 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF50(v *TestAllTypes) {
+	x.xxx_hidden_F50 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF51(v *TestAllTypes) {
+	x.xxx_hidden_F51 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF52(v *TestAllTypes) {
+	x.xxx_hidden_F52 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF53(v *TestAllTypes) {
+	x.xxx_hidden_F53 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF54(v *TestAllTypes) {
+	x.xxx_hidden_F54 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF55(v *TestAllTypes) {
+	x.xxx_hidden_F55 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF56(v *TestAllTypes) {
+	x.xxx_hidden_F56 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF57(v *TestAllTypes) {
+	x.xxx_hidden_F57 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF58(v *TestAllTypes) {
+	x.xxx_hidden_F58 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF59(v *TestAllTypes) {
+	x.xxx_hidden_F59 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF60(v *TestAllTypes) {
+	x.xxx_hidden_F60 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF61(v *TestAllTypes) {
+	x.xxx_hidden_F61 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF62(v *TestAllTypes) {
+	x.xxx_hidden_F62 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF63(v *TestAllTypes) {
+	x.xxx_hidden_F63 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF64(v *TestAllTypes) {
+	x.xxx_hidden_F64 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF65(v *TestAllTypes) {
+	x.xxx_hidden_F65 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF66(v *TestAllTypes) {
+	x.xxx_hidden_F66 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF67(v *TestAllTypes) {
+	x.xxx_hidden_F67 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF68(v *TestAllTypes) {
+	x.xxx_hidden_F68 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF69(v *TestAllTypes) {
+	x.xxx_hidden_F69 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF70(v *TestAllTypes) {
+	x.xxx_hidden_F70 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF71(v *TestAllTypes) {
+	x.xxx_hidden_F71 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF72(v *TestAllTypes) {
+	x.xxx_hidden_F72 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF73(v *TestAllTypes) {
+	x.xxx_hidden_F73 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF74(v *TestAllTypes) {
+	x.xxx_hidden_F74 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF75(v *TestAllTypes) {
+	x.xxx_hidden_F75 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF76(v *TestAllTypes) {
+	x.xxx_hidden_F76 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF77(v *TestAllTypes) {
+	x.xxx_hidden_F77 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF78(v *TestAllTypes) {
+	x.xxx_hidden_F78 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF79(v *TestAllTypes) {
+	x.xxx_hidden_F79 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF80(v *TestAllTypes) {
+	x.xxx_hidden_F80 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF81(v *TestAllTypes) {
+	x.xxx_hidden_F81 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF82(v *TestAllTypes) {
+	x.xxx_hidden_F82 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF83(v *TestAllTypes) {
+	x.xxx_hidden_F83 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF84(v *TestAllTypes) {
+	x.xxx_hidden_F84 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF85(v *TestAllTypes) {
+	x.xxx_hidden_F85 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF86(v *TestAllTypes) {
+	x.xxx_hidden_F86 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF87(v *TestAllTypes) {
+	x.xxx_hidden_F87 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF88(v *TestAllTypes) {
+	x.xxx_hidden_F88 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF89(v *TestAllTypes) {
+	x.xxx_hidden_F89 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF90(v *TestAllTypes) {
+	x.xxx_hidden_F90 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF91(v *TestAllTypes) {
+	x.xxx_hidden_F91 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF92(v *TestAllTypes) {
+	x.xxx_hidden_F92 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF93(v *TestAllTypes) {
+	x.xxx_hidden_F93 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF94(v *TestAllTypes) {
+	x.xxx_hidden_F94 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF95(v *TestAllTypes) {
+	x.xxx_hidden_F95 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF96(v *TestAllTypes) {
+	x.xxx_hidden_F96 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF97(v *TestAllTypes) {
+	x.xxx_hidden_F97 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF98(v *TestAllTypes) {
+	x.xxx_hidden_F98 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF99(v *TestAllTypes) {
+	x.xxx_hidden_F99 = v
+}
+
+func (x *TestManyMessageFieldsMessage) SetF100(v *TestAllTypes) {
+	x.xxx_hidden_F100 = v
+}
+
+func (x *TestManyMessageFieldsMessage) HasF1() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F1 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF2() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F2 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF3() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F3 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF4() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F4 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF5() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F5 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF6() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F6 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF7() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F7 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF8() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F8 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF9() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F9 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF10() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F10 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF11() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F11 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF12() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F12 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF13() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F13 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF14() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F14 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF15() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F15 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF16() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F16 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF17() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F17 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF18() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F18 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF19() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F19 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF20() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F20 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF21() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F21 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF22() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F22 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF23() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F23 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF24() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F24 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF25() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F25 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF26() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F26 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF27() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F27 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF28() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F28 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF29() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F29 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF30() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F30 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF31() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F31 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF32() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F32 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF33() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F33 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF34() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F34 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF35() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F35 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF36() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F36 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF37() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F37 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF38() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F38 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF39() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F39 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF40() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F40 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF41() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F41 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF42() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F42 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF43() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F43 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF44() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F44 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF45() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F45 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF46() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F46 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF47() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F47 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF48() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F48 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF49() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F49 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF50() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F50 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF51() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F51 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF52() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F52 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF53() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F53 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF54() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F54 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF55() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F55 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF56() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F56 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF57() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F57 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF58() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F58 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF59() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F59 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF60() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F60 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF61() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F61 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF62() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F62 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF63() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F63 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF64() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F64 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF65() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F65 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF66() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F66 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF67() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F67 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF68() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F68 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF69() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F69 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF70() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F70 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF71() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F71 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF72() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F72 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF73() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F73 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF74() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F74 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF75() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F75 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF76() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F76 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF77() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F77 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF78() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F78 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF79() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F79 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF80() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F80 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF81() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F81 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF82() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F82 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF83() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F83 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF84() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F84 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF85() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F85 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF86() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F86 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF87() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F87 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF88() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F88 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF89() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F89 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF90() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F90 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF91() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F91 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF92() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F92 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF93() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F93 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF94() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F94 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF95() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F95 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF96() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F96 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF97() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F97 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF98() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F98 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF99() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F99 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) HasF100() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_F100 != nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF1() {
+	x.xxx_hidden_F1 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF2() {
+	x.xxx_hidden_F2 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF3() {
+	x.xxx_hidden_F3 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF4() {
+	x.xxx_hidden_F4 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF5() {
+	x.xxx_hidden_F5 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF6() {
+	x.xxx_hidden_F6 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF7() {
+	x.xxx_hidden_F7 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF8() {
+	x.xxx_hidden_F8 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF9() {
+	x.xxx_hidden_F9 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF10() {
+	x.xxx_hidden_F10 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF11() {
+	x.xxx_hidden_F11 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF12() {
+	x.xxx_hidden_F12 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF13() {
+	x.xxx_hidden_F13 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF14() {
+	x.xxx_hidden_F14 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF15() {
+	x.xxx_hidden_F15 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF16() {
+	x.xxx_hidden_F16 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF17() {
+	x.xxx_hidden_F17 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF18() {
+	x.xxx_hidden_F18 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF19() {
+	x.xxx_hidden_F19 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF20() {
+	x.xxx_hidden_F20 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF21() {
+	x.xxx_hidden_F21 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF22() {
+	x.xxx_hidden_F22 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF23() {
+	x.xxx_hidden_F23 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF24() {
+	x.xxx_hidden_F24 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF25() {
+	x.xxx_hidden_F25 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF26() {
+	x.xxx_hidden_F26 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF27() {
+	x.xxx_hidden_F27 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF28() {
+	x.xxx_hidden_F28 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF29() {
+	x.xxx_hidden_F29 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF30() {
+	x.xxx_hidden_F30 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF31() {
+	x.xxx_hidden_F31 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF32() {
+	x.xxx_hidden_F32 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF33() {
+	x.xxx_hidden_F33 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF34() {
+	x.xxx_hidden_F34 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF35() {
+	x.xxx_hidden_F35 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF36() {
+	x.xxx_hidden_F36 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF37() {
+	x.xxx_hidden_F37 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF38() {
+	x.xxx_hidden_F38 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF39() {
+	x.xxx_hidden_F39 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF40() {
+	x.xxx_hidden_F40 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF41() {
+	x.xxx_hidden_F41 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF42() {
+	x.xxx_hidden_F42 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF43() {
+	x.xxx_hidden_F43 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF44() {
+	x.xxx_hidden_F44 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF45() {
+	x.xxx_hidden_F45 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF46() {
+	x.xxx_hidden_F46 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF47() {
+	x.xxx_hidden_F47 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF48() {
+	x.xxx_hidden_F48 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF49() {
+	x.xxx_hidden_F49 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF50() {
+	x.xxx_hidden_F50 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF51() {
+	x.xxx_hidden_F51 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF52() {
+	x.xxx_hidden_F52 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF53() {
+	x.xxx_hidden_F53 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF54() {
+	x.xxx_hidden_F54 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF55() {
+	x.xxx_hidden_F55 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF56() {
+	x.xxx_hidden_F56 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF57() {
+	x.xxx_hidden_F57 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF58() {
+	x.xxx_hidden_F58 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF59() {
+	x.xxx_hidden_F59 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF60() {
+	x.xxx_hidden_F60 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF61() {
+	x.xxx_hidden_F61 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF62() {
+	x.xxx_hidden_F62 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF63() {
+	x.xxx_hidden_F63 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF64() {
+	x.xxx_hidden_F64 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF65() {
+	x.xxx_hidden_F65 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF66() {
+	x.xxx_hidden_F66 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF67() {
+	x.xxx_hidden_F67 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF68() {
+	x.xxx_hidden_F68 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF69() {
+	x.xxx_hidden_F69 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF70() {
+	x.xxx_hidden_F70 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF71() {
+	x.xxx_hidden_F71 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF72() {
+	x.xxx_hidden_F72 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF73() {
+	x.xxx_hidden_F73 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF74() {
+	x.xxx_hidden_F74 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF75() {
+	x.xxx_hidden_F75 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF76() {
+	x.xxx_hidden_F76 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF77() {
+	x.xxx_hidden_F77 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF78() {
+	x.xxx_hidden_F78 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF79() {
+	x.xxx_hidden_F79 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF80() {
+	x.xxx_hidden_F80 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF81() {
+	x.xxx_hidden_F81 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF82() {
+	x.xxx_hidden_F82 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF83() {
+	x.xxx_hidden_F83 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF84() {
+	x.xxx_hidden_F84 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF85() {
+	x.xxx_hidden_F85 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF86() {
+	x.xxx_hidden_F86 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF87() {
+	x.xxx_hidden_F87 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF88() {
+	x.xxx_hidden_F88 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF89() {
+	x.xxx_hidden_F89 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF90() {
+	x.xxx_hidden_F90 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF91() {
+	x.xxx_hidden_F91 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF92() {
+	x.xxx_hidden_F92 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF93() {
+	x.xxx_hidden_F93 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF94() {
+	x.xxx_hidden_F94 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF95() {
+	x.xxx_hidden_F95 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF96() {
+	x.xxx_hidden_F96 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF97() {
+	x.xxx_hidden_F97 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF98() {
+	x.xxx_hidden_F98 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF99() {
+	x.xxx_hidden_F99 = nil
+}
+
+func (x *TestManyMessageFieldsMessage) ClearF100() {
+	x.xxx_hidden_F100 = nil
+}
+
+type TestManyMessageFieldsMessage_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	F1   *TestAllTypes
+	F2   *TestAllTypes
+	F3   *TestAllTypes
+	F4   *TestAllTypes
+	F5   *TestAllTypes
+	F6   *TestAllTypes
+	F7   *TestAllTypes
+	F8   *TestAllTypes
+	F9   *TestAllTypes
+	F10  *TestAllTypes
+	F11  *TestAllTypes
+	F12  *TestAllTypes
+	F13  *TestAllTypes
+	F14  *TestAllTypes
+	F15  *TestAllTypes
+	F16  *TestAllTypes
+	F17  *TestAllTypes
+	F18  *TestAllTypes
+	F19  *TestAllTypes
+	F20  *TestAllTypes
+	F21  *TestAllTypes
+	F22  *TestAllTypes
+	F23  *TestAllTypes
+	F24  *TestAllTypes
+	F25  *TestAllTypes
+	F26  *TestAllTypes
+	F27  *TestAllTypes
+	F28  *TestAllTypes
+	F29  *TestAllTypes
+	F30  *TestAllTypes
+	F31  *TestAllTypes
+	F32  *TestAllTypes
+	F33  *TestAllTypes
+	F34  *TestAllTypes
+	F35  *TestAllTypes
+	F36  *TestAllTypes
+	F37  *TestAllTypes
+	F38  *TestAllTypes
+	F39  *TestAllTypes
+	F40  *TestAllTypes
+	F41  *TestAllTypes
+	F42  *TestAllTypes
+	F43  *TestAllTypes
+	F44  *TestAllTypes
+	F45  *TestAllTypes
+	F46  *TestAllTypes
+	F47  *TestAllTypes
+	F48  *TestAllTypes
+	F49  *TestAllTypes
+	F50  *TestAllTypes
+	F51  *TestAllTypes
+	F52  *TestAllTypes
+	F53  *TestAllTypes
+	F54  *TestAllTypes
+	F55  *TestAllTypes
+	F56  *TestAllTypes
+	F57  *TestAllTypes
+	F58  *TestAllTypes
+	F59  *TestAllTypes
+	F60  *TestAllTypes
+	F61  *TestAllTypes
+	F62  *TestAllTypes
+	F63  *TestAllTypes
+	F64  *TestAllTypes
+	F65  *TestAllTypes
+	F66  *TestAllTypes
+	F67  *TestAllTypes
+	F68  *TestAllTypes
+	F69  *TestAllTypes
+	F70  *TestAllTypes
+	F71  *TestAllTypes
+	F72  *TestAllTypes
+	F73  *TestAllTypes
+	F74  *TestAllTypes
+	F75  *TestAllTypes
+	F76  *TestAllTypes
+	F77  *TestAllTypes
+	F78  *TestAllTypes
+	F79  *TestAllTypes
+	F80  *TestAllTypes
+	F81  *TestAllTypes
+	F82  *TestAllTypes
+	F83  *TestAllTypes
+	F84  *TestAllTypes
+	F85  *TestAllTypes
+	F86  *TestAllTypes
+	F87  *TestAllTypes
+	F88  *TestAllTypes
+	F89  *TestAllTypes
+	F90  *TestAllTypes
+	F91  *TestAllTypes
+	F92  *TestAllTypes
+	F93  *TestAllTypes
+	F94  *TestAllTypes
+	F95  *TestAllTypes
+	F96  *TestAllTypes
+	F97  *TestAllTypes
+	F98  *TestAllTypes
+	F99  *TestAllTypes
+	F100 *TestAllTypes
+}
+
+func (b0 TestManyMessageFieldsMessage_builder) Build() *TestManyMessageFieldsMessage {
+	m0 := &TestManyMessageFieldsMessage{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_F1 = b.F1
+	x.xxx_hidden_F2 = b.F2
+	x.xxx_hidden_F3 = b.F3
+	x.xxx_hidden_F4 = b.F4
+	x.xxx_hidden_F5 = b.F5
+	x.xxx_hidden_F6 = b.F6
+	x.xxx_hidden_F7 = b.F7
+	x.xxx_hidden_F8 = b.F8
+	x.xxx_hidden_F9 = b.F9
+	x.xxx_hidden_F10 = b.F10
+	x.xxx_hidden_F11 = b.F11
+	x.xxx_hidden_F12 = b.F12
+	x.xxx_hidden_F13 = b.F13
+	x.xxx_hidden_F14 = b.F14
+	x.xxx_hidden_F15 = b.F15
+	x.xxx_hidden_F16 = b.F16
+	x.xxx_hidden_F17 = b.F17
+	x.xxx_hidden_F18 = b.F18
+	x.xxx_hidden_F19 = b.F19
+	x.xxx_hidden_F20 = b.F20
+	x.xxx_hidden_F21 = b.F21
+	x.xxx_hidden_F22 = b.F22
+	x.xxx_hidden_F23 = b.F23
+	x.xxx_hidden_F24 = b.F24
+	x.xxx_hidden_F25 = b.F25
+	x.xxx_hidden_F26 = b.F26
+	x.xxx_hidden_F27 = b.F27
+	x.xxx_hidden_F28 = b.F28
+	x.xxx_hidden_F29 = b.F29
+	x.xxx_hidden_F30 = b.F30
+	x.xxx_hidden_F31 = b.F31
+	x.xxx_hidden_F32 = b.F32
+	x.xxx_hidden_F33 = b.F33
+	x.xxx_hidden_F34 = b.F34
+	x.xxx_hidden_F35 = b.F35
+	x.xxx_hidden_F36 = b.F36
+	x.xxx_hidden_F37 = b.F37
+	x.xxx_hidden_F38 = b.F38
+	x.xxx_hidden_F39 = b.F39
+	x.xxx_hidden_F40 = b.F40
+	x.xxx_hidden_F41 = b.F41
+	x.xxx_hidden_F42 = b.F42
+	x.xxx_hidden_F43 = b.F43
+	x.xxx_hidden_F44 = b.F44
+	x.xxx_hidden_F45 = b.F45
+	x.xxx_hidden_F46 = b.F46
+	x.xxx_hidden_F47 = b.F47
+	x.xxx_hidden_F48 = b.F48
+	x.xxx_hidden_F49 = b.F49
+	x.xxx_hidden_F50 = b.F50
+	x.xxx_hidden_F51 = b.F51
+	x.xxx_hidden_F52 = b.F52
+	x.xxx_hidden_F53 = b.F53
+	x.xxx_hidden_F54 = b.F54
+	x.xxx_hidden_F55 = b.F55
+	x.xxx_hidden_F56 = b.F56
+	x.xxx_hidden_F57 = b.F57
+	x.xxx_hidden_F58 = b.F58
+	x.xxx_hidden_F59 = b.F59
+	x.xxx_hidden_F60 = b.F60
+	x.xxx_hidden_F61 = b.F61
+	x.xxx_hidden_F62 = b.F62
+	x.xxx_hidden_F63 = b.F63
+	x.xxx_hidden_F64 = b.F64
+	x.xxx_hidden_F65 = b.F65
+	x.xxx_hidden_F66 = b.F66
+	x.xxx_hidden_F67 = b.F67
+	x.xxx_hidden_F68 = b.F68
+	x.xxx_hidden_F69 = b.F69
+	x.xxx_hidden_F70 = b.F70
+	x.xxx_hidden_F71 = b.F71
+	x.xxx_hidden_F72 = b.F72
+	x.xxx_hidden_F73 = b.F73
+	x.xxx_hidden_F74 = b.F74
+	x.xxx_hidden_F75 = b.F75
+	x.xxx_hidden_F76 = b.F76
+	x.xxx_hidden_F77 = b.F77
+	x.xxx_hidden_F78 = b.F78
+	x.xxx_hidden_F79 = b.F79
+	x.xxx_hidden_F80 = b.F80
+	x.xxx_hidden_F81 = b.F81
+	x.xxx_hidden_F82 = b.F82
+	x.xxx_hidden_F83 = b.F83
+	x.xxx_hidden_F84 = b.F84
+	x.xxx_hidden_F85 = b.F85
+	x.xxx_hidden_F86 = b.F86
+	x.xxx_hidden_F87 = b.F87
+	x.xxx_hidden_F88 = b.F88
+	x.xxx_hidden_F89 = b.F89
+	x.xxx_hidden_F90 = b.F90
+	x.xxx_hidden_F91 = b.F91
+	x.xxx_hidden_F92 = b.F92
+	x.xxx_hidden_F93 = b.F93
+	x.xxx_hidden_F94 = b.F94
+	x.xxx_hidden_F95 = b.F95
+	x.xxx_hidden_F96 = b.F96
+	x.xxx_hidden_F97 = b.F97
+	x.xxx_hidden_F98 = b.F98
+	x.xxx_hidden_F99 = b.F99
+	x.xxx_hidden_F100 = b.F100
+	return m0
+}
+
+type ForeignMessage struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_C           int32                  `protobuf:"varint,1,opt,name=c" json:"c,omitempty"`
+	xxx_hidden_D           int32                  `protobuf:"varint,2,opt,name=d" json:"d,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *ForeignMessage) Reset() {
+	*x = ForeignMessage{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[2]
+	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_testeditions_testeditions_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 *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
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *ForeignMessage) SetD(v int32) {
+	x.xxx_hidden_D = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
+}
+
+func (x *ForeignMessage) HasC() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *ForeignMessage) HasD() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *ForeignMessage) ClearC() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_C = 0
+}
+
+func (x *ForeignMessage) ClearD() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_D = 0
+}
+
+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
+	if b.C != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_C = *b.C
+	}
+	if b.D != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
+		x.xxx_hidden_D = *b.D
+	}
+	return m0
+}
+
+type TestRequired struct {
+	state                    protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_RequiredField int32                  `protobuf:"varint,1,req,name=required_field,json=requiredField" json:"required_field,omitempty"`
+	XXX_raceDetectHookData   protoimpl.RaceDetectHookData
+	XXX_presence             [1]uint32
+	unknownFields            protoimpl.UnknownFields
+	sizeCache                protoimpl.SizeCache
+}
+
+func (x *TestRequired) Reset() {
+	*x = TestRequired{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestRequired) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestRequired) ProtoMessage() {}
+
+func (x *TestRequired) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[3]
+	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 *TestRequired) GetRequiredField() int32 {
+	if x != nil {
+		return x.xxx_hidden_RequiredField
+	}
+	return 0
+}
+
+func (x *TestRequired) SetRequiredField(v int32) {
+	x.xxx_hidden_RequiredField = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *TestRequired) HasRequiredField() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *TestRequired) ClearRequiredField() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_RequiredField = 0
+}
+
+type TestRequired_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	RequiredField *int32
+}
+
+func (b0 TestRequired_builder) Build() *TestRequired {
+	m0 := &TestRequired{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.RequiredField != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_RequiredField = *b.RequiredField
+	}
+	return m0
+}
+
+type TestRequiredForeign struct {
+	state                      protoimpl.MessageState           `protogen:"opaque.v1"`
+	xxx_hidden_OptionalMessage *TestRequired                    `protobuf:"bytes,1,opt,name=optional_message,json=optionalMessage" json:"optional_message,omitempty"`
+	xxx_hidden_RepeatedMessage *[]*TestRequired                 `protobuf:"bytes,2,rep,name=repeated_message,json=repeatedMessage" json:"repeated_message,omitempty"`
+	xxx_hidden_MapMessage      map[int32]*TestRequired          `protobuf:"bytes,3,rep,name=map_message,json=mapMessage" json:"map_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	xxx_hidden_OneofField      isTestRequiredForeign_OneofField `protobuf_oneof:"oneof_field"`
+	unknownFields              protoimpl.UnknownFields
+	sizeCache                  protoimpl.SizeCache
+}
+
+func (x *TestRequiredForeign) Reset() {
+	*x = TestRequiredForeign{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestRequiredForeign) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestRequiredForeign) ProtoMessage() {}
+
+func (x *TestRequiredForeign) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[4]
+	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 *TestRequiredForeign) GetOptionalMessage() *TestRequired {
+	if x != nil {
+		return x.xxx_hidden_OptionalMessage
+	}
+	return nil
+}
+
+func (x *TestRequiredForeign) GetRepeatedMessage() []*TestRequired {
+	if x != nil {
+		if x.xxx_hidden_RepeatedMessage != nil {
+			return *x.xxx_hidden_RepeatedMessage
+		}
+	}
+	return nil
+}
+
+func (x *TestRequiredForeign) GetMapMessage() map[int32]*TestRequired {
+	if x != nil {
+		return x.xxx_hidden_MapMessage
+	}
+	return nil
+}
+
+func (x *TestRequiredForeign) GetOneofMessage() *TestRequired {
+	if x != nil {
+		if x, ok := x.xxx_hidden_OneofField.(*testRequiredForeign_OneofMessage); ok {
+			return x.OneofMessage
+		}
+	}
+	return nil
+}
+
+func (x *TestRequiredForeign) SetOptionalMessage(v *TestRequired) {
+	x.xxx_hidden_OptionalMessage = v
+}
+
+func (x *TestRequiredForeign) SetRepeatedMessage(v []*TestRequired) {
+	x.xxx_hidden_RepeatedMessage = &v
+}
+
+func (x *TestRequiredForeign) SetMapMessage(v map[int32]*TestRequired) {
+	x.xxx_hidden_MapMessage = v
+}
+
+func (x *TestRequiredForeign) SetOneofMessage(v *TestRequired) {
+	if v == nil {
+		x.xxx_hidden_OneofField = nil
+		return
+	}
+	x.xxx_hidden_OneofField = &testRequiredForeign_OneofMessage{v}
+}
+
+func (x *TestRequiredForeign) HasOptionalMessage() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptionalMessage != nil
+}
+
+func (x *TestRequiredForeign) HasOneofField() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OneofField != nil
+}
+
+func (x *TestRequiredForeign) HasOneofMessage() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_OneofField.(*testRequiredForeign_OneofMessage)
+	return ok
+}
+
+func (x *TestRequiredForeign) ClearOptionalMessage() {
+	x.xxx_hidden_OptionalMessage = nil
+}
+
+func (x *TestRequiredForeign) ClearOneofField() {
+	x.xxx_hidden_OneofField = nil
+}
+
+func (x *TestRequiredForeign) ClearOneofMessage() {
+	if _, ok := x.xxx_hidden_OneofField.(*testRequiredForeign_OneofMessage); ok {
+		x.xxx_hidden_OneofField = nil
+	}
+}
+
+const TestRequiredForeign_OneofField_not_set_case case_TestRequiredForeign_OneofField = 0
+const TestRequiredForeign_OneofMessage_case case_TestRequiredForeign_OneofField = 4
+
+func (x *TestRequiredForeign) WhichOneofField() case_TestRequiredForeign_OneofField {
+	if x == nil {
+		return TestRequiredForeign_OneofField_not_set_case
+	}
+	switch x.xxx_hidden_OneofField.(type) {
+	case *testRequiredForeign_OneofMessage:
+		return TestRequiredForeign_OneofMessage_case
+	default:
+		return TestRequiredForeign_OneofField_not_set_case
+	}
+}
+
+type TestRequiredForeign_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptionalMessage *TestRequired
+	RepeatedMessage []*TestRequired
+	MapMessage      map[int32]*TestRequired
+	// Fields of oneof xxx_hidden_OneofField:
+	OneofMessage *TestRequired
+	// -- end of xxx_hidden_OneofField
+}
+
+func (b0 TestRequiredForeign_builder) Build() *TestRequiredForeign {
+	m0 := &TestRequiredForeign{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_OptionalMessage = b.OptionalMessage
+	x.xxx_hidden_RepeatedMessage = &b.RepeatedMessage
+	x.xxx_hidden_MapMessage = b.MapMessage
+	if b.OneofMessage != nil {
+		x.xxx_hidden_OneofField = &testRequiredForeign_OneofMessage{b.OneofMessage}
+	}
+	return m0
+}
+
+type case_TestRequiredForeign_OneofField protoreflect.FieldNumber
+
+func (x case_TestRequiredForeign_OneofField) String() string {
+	md := file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[4].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isTestRequiredForeign_OneofField interface {
+	isTestRequiredForeign_OneofField()
+}
+
+type testRequiredForeign_OneofMessage struct {
+	OneofMessage *TestRequired `protobuf:"bytes,4,opt,name=oneof_message,json=oneofMessage,oneof"`
+}
+
+func (*testRequiredForeign_OneofMessage) isTestRequiredForeign_OneofField() {}
+
+type TestRequiredGroupFields struct {
+	state                    protoimpl.MessageState                    `protogen:"opaque.v1"`
+	xxx_hidden_Optionalgroup *TestRequiredGroupFields_OptionalGroup    `protobuf:"group,1,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"`
+	xxx_hidden_Repeatedgroup *[]*TestRequiredGroupFields_RepeatedGroup `protobuf:"group,3,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"`
+	unknownFields            protoimpl.UnknownFields
+	sizeCache                protoimpl.SizeCache
+}
+
+func (x *TestRequiredGroupFields) Reset() {
+	*x = TestRequiredGroupFields{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestRequiredGroupFields) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestRequiredGroupFields) ProtoMessage() {}
+
+func (x *TestRequiredGroupFields) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[5]
+	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 *TestRequiredGroupFields) GetOptionalgroup() *TestRequiredGroupFields_OptionalGroup {
+	if x != nil {
+		return x.xxx_hidden_Optionalgroup
+	}
+	return nil
+}
+
+func (x *TestRequiredGroupFields) GetRepeatedgroup() []*TestRequiredGroupFields_RepeatedGroup {
+	if x != nil {
+		if x.xxx_hidden_Repeatedgroup != nil {
+			return *x.xxx_hidden_Repeatedgroup
+		}
+	}
+	return nil
+}
+
+func (x *TestRequiredGroupFields) SetOptionalgroup(v *TestRequiredGroupFields_OptionalGroup) {
+	x.xxx_hidden_Optionalgroup = v
+}
+
+func (x *TestRequiredGroupFields) SetRepeatedgroup(v []*TestRequiredGroupFields_RepeatedGroup) {
+	x.xxx_hidden_Repeatedgroup = &v
+}
+
+func (x *TestRequiredGroupFields) HasOptionalgroup() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Optionalgroup != nil
+}
+
+func (x *TestRequiredGroupFields) ClearOptionalgroup() {
+	x.xxx_hidden_Optionalgroup = nil
+}
+
+type TestRequiredGroupFields_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	Optionalgroup *TestRequiredGroupFields_OptionalGroup
+	Repeatedgroup []*TestRequiredGroupFields_RepeatedGroup
+}
+
+func (b0 TestRequiredGroupFields_builder) Build() *TestRequiredGroupFields {
+	m0 := &TestRequiredGroupFields{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Optionalgroup = b.Optionalgroup
+	x.xxx_hidden_Repeatedgroup = &b.Repeatedgroup
+	return m0
+}
+
+type TestRequiredLazy struct {
+	state                          protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_OptionalLazyMessage *TestRequired          `protobuf:"bytes,1,opt,name=optional_lazy_message,json=optionalLazyMessage" json:"optional_lazy_message,omitempty"`
+	// Deprecated: Do not use. This will be deleted in the near future.
+	XXX_lazyUnmarshalInfo  protoimpl.LazyUnmarshalInfo
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *TestRequiredLazy) Reset() {
+	*x = TestRequiredLazy{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestRequiredLazy) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestRequiredLazy) ProtoMessage() {}
+
+func (x *TestRequiredLazy) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[6]
+	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 *TestRequiredLazy) GetOptionalLazyMessage() *TestRequired {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 0) {
+			if protoimpl.X.AtomicCheckPointerIsNil(&x.xxx_hidden_OptionalLazyMessage) {
+				protoimpl.X.UnmarshalField(x, 1)
+			}
+			var rv *TestRequired
+			protoimpl.X.AtomicLoadPointer(protoimpl.Pointer(&x.xxx_hidden_OptionalLazyMessage), protoimpl.Pointer(&rv))
+			return rv
+		}
+	}
+	return nil
+}
+
+func (x *TestRequiredLazy) SetOptionalLazyMessage(v *TestRequired) {
+	protoimpl.X.AtomicSetPointer(&x.xxx_hidden_OptionalLazyMessage, v)
+	if v == nil {
+		protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	} else {
+		protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+	}
+}
+
+func (x *TestRequiredLazy) HasOptionalLazyMessage() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *TestRequiredLazy) ClearOptionalLazyMessage() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	protoimpl.X.AtomicSetPointer(&x.xxx_hidden_OptionalLazyMessage, (*TestRequired)(nil))
+}
+
+type TestRequiredLazy_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptionalLazyMessage *TestRequired
+}
+
+func (b0 TestRequiredLazy_builder) Build() *TestRequiredLazy {
+	m0 := &TestRequiredLazy{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.OptionalLazyMessage != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_OptionalLazyMessage = b.OptionalLazyMessage
+	}
+	return m0
+}
+
+type TestPackedTypes struct {
+	state                     protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_PackedInt32    []int32                `protobuf:"varint,90,rep,packed,name=packed_int32,json=packedInt32" json:"packed_int32,omitempty"`
+	xxx_hidden_PackedInt64    []int64                `protobuf:"varint,91,rep,packed,name=packed_int64,json=packedInt64" json:"packed_int64,omitempty"`
+	xxx_hidden_PackedUint32   []uint32               `protobuf:"varint,92,rep,packed,name=packed_uint32,json=packedUint32" json:"packed_uint32,omitempty"`
+	xxx_hidden_PackedUint64   []uint64               `protobuf:"varint,93,rep,packed,name=packed_uint64,json=packedUint64" json:"packed_uint64,omitempty"`
+	xxx_hidden_PackedSint32   []int32                `protobuf:"zigzag32,94,rep,packed,name=packed_sint32,json=packedSint32" json:"packed_sint32,omitempty"`
+	xxx_hidden_PackedSint64   []int64                `protobuf:"zigzag64,95,rep,packed,name=packed_sint64,json=packedSint64" json:"packed_sint64,omitempty"`
+	xxx_hidden_PackedFixed32  []uint32               `protobuf:"fixed32,96,rep,packed,name=packed_fixed32,json=packedFixed32" json:"packed_fixed32,omitempty"`
+	xxx_hidden_PackedFixed64  []uint64               `protobuf:"fixed64,97,rep,packed,name=packed_fixed64,json=packedFixed64" json:"packed_fixed64,omitempty"`
+	xxx_hidden_PackedSfixed32 []int32                `protobuf:"fixed32,98,rep,packed,name=packed_sfixed32,json=packedSfixed32" json:"packed_sfixed32,omitempty"`
+	xxx_hidden_PackedSfixed64 []int64                `protobuf:"fixed64,99,rep,packed,name=packed_sfixed64,json=packedSfixed64" json:"packed_sfixed64,omitempty"`
+	xxx_hidden_PackedFloat    []float32              `protobuf:"fixed32,100,rep,packed,name=packed_float,json=packedFloat" json:"packed_float,omitempty"`
+	xxx_hidden_PackedDouble   []float64              `protobuf:"fixed64,101,rep,packed,name=packed_double,json=packedDouble" json:"packed_double,omitempty"`
+	xxx_hidden_PackedBool     []bool                 `protobuf:"varint,102,rep,packed,name=packed_bool,json=packedBool" json:"packed_bool,omitempty"`
+	xxx_hidden_PackedEnum     []ForeignEnum          `protobuf:"varint,103,rep,packed,name=packed_enum,json=packedEnum,enum=hybrid.goproto.proto.testeditions.ForeignEnum" json:"packed_enum,omitempty"`
+	unknownFields             protoimpl.UnknownFields
+	sizeCache                 protoimpl.SizeCache
+}
+
+func (x *TestPackedTypes) Reset() {
+	*x = TestPackedTypes{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestPackedTypes) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestPackedTypes) ProtoMessage() {}
+
+func (x *TestPackedTypes) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[7]
+	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 *TestPackedTypes) GetPackedInt32() []int32 {
+	if x != nil {
+		return x.xxx_hidden_PackedInt32
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedInt64() []int64 {
+	if x != nil {
+		return x.xxx_hidden_PackedInt64
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedUint32() []uint32 {
+	if x != nil {
+		return x.xxx_hidden_PackedUint32
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedUint64() []uint64 {
+	if x != nil {
+		return x.xxx_hidden_PackedUint64
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedSint32() []int32 {
+	if x != nil {
+		return x.xxx_hidden_PackedSint32
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedSint64() []int64 {
+	if x != nil {
+		return x.xxx_hidden_PackedSint64
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedFixed32() []uint32 {
+	if x != nil {
+		return x.xxx_hidden_PackedFixed32
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedFixed64() []uint64 {
+	if x != nil {
+		return x.xxx_hidden_PackedFixed64
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedSfixed32() []int32 {
+	if x != nil {
+		return x.xxx_hidden_PackedSfixed32
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedSfixed64() []int64 {
+	if x != nil {
+		return x.xxx_hidden_PackedSfixed64
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedFloat() []float32 {
+	if x != nil {
+		return x.xxx_hidden_PackedFloat
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedDouble() []float64 {
+	if x != nil {
+		return x.xxx_hidden_PackedDouble
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedBool() []bool {
+	if x != nil {
+		return x.xxx_hidden_PackedBool
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) GetPackedEnum() []ForeignEnum {
+	if x != nil {
+		return x.xxx_hidden_PackedEnum
+	}
+	return nil
+}
+
+func (x *TestPackedTypes) SetPackedInt32(v []int32) {
+	x.xxx_hidden_PackedInt32 = v
+}
+
+func (x *TestPackedTypes) SetPackedInt64(v []int64) {
+	x.xxx_hidden_PackedInt64 = v
+}
+
+func (x *TestPackedTypes) SetPackedUint32(v []uint32) {
+	x.xxx_hidden_PackedUint32 = v
+}
+
+func (x *TestPackedTypes) SetPackedUint64(v []uint64) {
+	x.xxx_hidden_PackedUint64 = v
+}
+
+func (x *TestPackedTypes) SetPackedSint32(v []int32) {
+	x.xxx_hidden_PackedSint32 = v
+}
+
+func (x *TestPackedTypes) SetPackedSint64(v []int64) {
+	x.xxx_hidden_PackedSint64 = v
+}
+
+func (x *TestPackedTypes) SetPackedFixed32(v []uint32) {
+	x.xxx_hidden_PackedFixed32 = v
+}
+
+func (x *TestPackedTypes) SetPackedFixed64(v []uint64) {
+	x.xxx_hidden_PackedFixed64 = v
+}
+
+func (x *TestPackedTypes) SetPackedSfixed32(v []int32) {
+	x.xxx_hidden_PackedSfixed32 = v
+}
+
+func (x *TestPackedTypes) SetPackedSfixed64(v []int64) {
+	x.xxx_hidden_PackedSfixed64 = v
+}
+
+func (x *TestPackedTypes) SetPackedFloat(v []float32) {
+	x.xxx_hidden_PackedFloat = v
+}
+
+func (x *TestPackedTypes) SetPackedDouble(v []float64) {
+	x.xxx_hidden_PackedDouble = v
+}
+
+func (x *TestPackedTypes) SetPackedBool(v []bool) {
+	x.xxx_hidden_PackedBool = v
+}
+
+func (x *TestPackedTypes) SetPackedEnum(v []ForeignEnum) {
+	x.xxx_hidden_PackedEnum = v
+}
+
+type TestPackedTypes_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	PackedInt32    []int32
+	PackedInt64    []int64
+	PackedUint32   []uint32
+	PackedUint64   []uint64
+	PackedSint32   []int32
+	PackedSint64   []int64
+	PackedFixed32  []uint32
+	PackedFixed64  []uint64
+	PackedSfixed32 []int32
+	PackedSfixed64 []int64
+	PackedFloat    []float32
+	PackedDouble   []float64
+	PackedBool     []bool
+	PackedEnum     []ForeignEnum
+}
+
+func (b0 TestPackedTypes_builder) Build() *TestPackedTypes {
+	m0 := &TestPackedTypes{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_PackedInt32 = b.PackedInt32
+	x.xxx_hidden_PackedInt64 = b.PackedInt64
+	x.xxx_hidden_PackedUint32 = b.PackedUint32
+	x.xxx_hidden_PackedUint64 = b.PackedUint64
+	x.xxx_hidden_PackedSint32 = b.PackedSint32
+	x.xxx_hidden_PackedSint64 = b.PackedSint64
+	x.xxx_hidden_PackedFixed32 = b.PackedFixed32
+	x.xxx_hidden_PackedFixed64 = b.PackedFixed64
+	x.xxx_hidden_PackedSfixed32 = b.PackedSfixed32
+	x.xxx_hidden_PackedSfixed64 = b.PackedSfixed64
+	x.xxx_hidden_PackedFloat = b.PackedFloat
+	x.xxx_hidden_PackedDouble = b.PackedDouble
+	x.xxx_hidden_PackedBool = b.PackedBool
+	x.xxx_hidden_PackedEnum = b.PackedEnum
+	return m0
+}
+
+type TestPackedExtensions struct {
+	state           protoimpl.MessageState `protogen:"opaque.v1"`
+	extensionFields protoimpl.ExtensionFields
+	unknownFields   protoimpl.UnknownFields
+	sizeCache       protoimpl.SizeCache
+}
+
+func (x *TestPackedExtensions) Reset() {
+	*x = TestPackedExtensions{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestPackedExtensions) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestPackedExtensions) ProtoMessage() {}
+
+func (x *TestPackedExtensions) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[8]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+type TestPackedExtensions_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 TestPackedExtensions_builder) Build() *TestPackedExtensions {
+	m0 := &TestPackedExtensions{}
+	b, x := &b0, m0
+	_, _ = b, x
+	return m0
+}
+
+type RemoteDefault struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Default     enums_hybrid.Enum      `protobuf:"varint,1,opt,name=default,enum=hybrid.goproto.proto.enums.Enum" json:"default,omitempty"`
+	xxx_hidden_Zero        enums_hybrid.Enum      `protobuf:"varint,2,opt,name=zero,enum=hybrid.goproto.proto.enums.Enum,def=0" json:"zero,omitempty"`
+	xxx_hidden_One         enums_hybrid.Enum      `protobuf:"varint,3,opt,name=one,enum=hybrid.goproto.proto.enums.Enum,def=1" json:"one,omitempty"`
+	xxx_hidden_Elevent     enums_hybrid.Enum      `protobuf:"varint,4,opt,name=elevent,enum=hybrid.goproto.proto.enums.Enum,def=11" json:"elevent,omitempty"`
+	xxx_hidden_Seventeen   enums_hybrid.Enum      `protobuf:"varint,5,opt,name=seventeen,enum=hybrid.goproto.proto.enums.Enum,def=17" json:"seventeen,omitempty"`
+	xxx_hidden_Thirtyseven enums_hybrid.Enum      `protobuf:"varint,6,opt,name=thirtyseven,enum=hybrid.goproto.proto.enums.Enum,def=37" json:"thirtyseven,omitempty"`
+	xxx_hidden_Sixtyseven  enums_hybrid.Enum      `protobuf:"varint,7,opt,name=sixtyseven,enum=hybrid.goproto.proto.enums.Enum,def=67" json:"sixtyseven,omitempty"`
+	xxx_hidden_Negative    enums_hybrid.Enum      `protobuf:"varint,8,opt,name=negative,enum=hybrid.goproto.proto.enums.Enum,def=-1" json:"negative,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+// Default values for RemoteDefault fields.
+const (
+	Default_RemoteDefault_Zero        = enums_hybrid.Enum(0)  // enums_hybrid.Enum_ZERO
+	Default_RemoteDefault_One         = enums_hybrid.Enum(1)  // enums_hybrid.Enum_ONE
+	Default_RemoteDefault_Elevent     = enums_hybrid.Enum(11) // enums_hybrid.Enum_ELEVENT
+	Default_RemoteDefault_Seventeen   = enums_hybrid.Enum(17) // enums_hybrid.Enum_SEVENTEEN
+	Default_RemoteDefault_Thirtyseven = enums_hybrid.Enum(37) // enums_hybrid.Enum_THIRTYSEVEN
+	Default_RemoteDefault_Sixtyseven  = enums_hybrid.Enum(67) // enums_hybrid.Enum_SIXTYSEVEN
+	Default_RemoteDefault_Negative    = enums_hybrid.Enum(-1) // enums_hybrid.Enum_NEGATIVE
+)
+
+func (x *RemoteDefault) Reset() {
+	*x = RemoteDefault{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *RemoteDefault) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RemoteDefault) ProtoMessage() {}
+
+func (x *RemoteDefault) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[9]
+	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 *RemoteDefault) GetDefault() enums_hybrid.Enum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 0) {
+			return x.xxx_hidden_Default
+		}
+	}
+	return enums_hybrid.Enum(1337)
+}
+
+func (x *RemoteDefault) GetZero() enums_hybrid.Enum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 1) {
+			return x.xxx_hidden_Zero
+		}
+	}
+	return Default_RemoteDefault_Zero
+}
+
+func (x *RemoteDefault) GetOne() enums_hybrid.Enum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 2) {
+			return x.xxx_hidden_One
+		}
+	}
+	return Default_RemoteDefault_One
+}
+
+func (x *RemoteDefault) GetElevent() enums_hybrid.Enum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 3) {
+			return x.xxx_hidden_Elevent
+		}
+	}
+	return Default_RemoteDefault_Elevent
+}
+
+func (x *RemoteDefault) GetSeventeen() enums_hybrid.Enum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 4) {
+			return x.xxx_hidden_Seventeen
+		}
+	}
+	return Default_RemoteDefault_Seventeen
+}
+
+func (x *RemoteDefault) GetThirtyseven() enums_hybrid.Enum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 5) {
+			return x.xxx_hidden_Thirtyseven
+		}
+	}
+	return Default_RemoteDefault_Thirtyseven
+}
+
+func (x *RemoteDefault) GetSixtyseven() enums_hybrid.Enum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 6) {
+			return x.xxx_hidden_Sixtyseven
+		}
+	}
+	return Default_RemoteDefault_Sixtyseven
+}
+
+func (x *RemoteDefault) GetNegative() enums_hybrid.Enum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 7) {
+			return x.xxx_hidden_Negative
+		}
+	}
+	return Default_RemoteDefault_Negative
+}
+
+func (x *RemoteDefault) SetDefault(v enums_hybrid.Enum) {
+	x.xxx_hidden_Default = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 8)
+}
+
+func (x *RemoteDefault) SetZero(v enums_hybrid.Enum) {
+	x.xxx_hidden_Zero = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 8)
+}
+
+func (x *RemoteDefault) SetOne(v enums_hybrid.Enum) {
+	x.xxx_hidden_One = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 8)
+}
+
+func (x *RemoteDefault) SetElevent(v enums_hybrid.Enum) {
+	x.xxx_hidden_Elevent = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 8)
+}
+
+func (x *RemoteDefault) SetSeventeen(v enums_hybrid.Enum) {
+	x.xxx_hidden_Seventeen = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 8)
+}
+
+func (x *RemoteDefault) SetThirtyseven(v enums_hybrid.Enum) {
+	x.xxx_hidden_Thirtyseven = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 8)
+}
+
+func (x *RemoteDefault) SetSixtyseven(v enums_hybrid.Enum) {
+	x.xxx_hidden_Sixtyseven = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 6, 8)
+}
+
+func (x *RemoteDefault) SetNegative(v enums_hybrid.Enum) {
+	x.xxx_hidden_Negative = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 7, 8)
+}
+
+func (x *RemoteDefault) HasDefault() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *RemoteDefault) HasZero() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *RemoteDefault) HasOne() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *RemoteDefault) HasElevent() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 3)
+}
+
+func (x *RemoteDefault) HasSeventeen() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 4)
+}
+
+func (x *RemoteDefault) HasThirtyseven() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 5)
+}
+
+func (x *RemoteDefault) HasSixtyseven() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 6)
+}
+
+func (x *RemoteDefault) HasNegative() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 7)
+}
+
+func (x *RemoteDefault) ClearDefault() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_Default = enums_hybrid.Enum_DEFAULT
+}
+
+func (x *RemoteDefault) ClearZero() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+}
+
+func (x *RemoteDefault) ClearOne() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+}
+
+func (x *RemoteDefault) ClearElevent() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3)
+}
+
+func (x *RemoteDefault) ClearSeventeen() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4)
+}
+
+func (x *RemoteDefault) ClearThirtyseven() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 5)
+}
+
+func (x *RemoteDefault) ClearSixtyseven() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 6)
+}
+
+func (x *RemoteDefault) ClearNegative() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 7)
+}
+
+type RemoteDefault_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	Default     *enums_hybrid.Enum
+	Zero        *enums_hybrid.Enum
+	One         *enums_hybrid.Enum
+	Elevent     *enums_hybrid.Enum
+	Seventeen   *enums_hybrid.Enum
+	Thirtyseven *enums_hybrid.Enum
+	Sixtyseven  *enums_hybrid.Enum
+	Negative    *enums_hybrid.Enum
+}
+
+func (b0 RemoteDefault_builder) Build() *RemoteDefault {
+	m0 := &RemoteDefault{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.Default != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 8)
+		x.xxx_hidden_Default = *b.Default
+	}
+	if b.Zero != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 8)
+		x.xxx_hidden_Zero = *b.Zero
+	}
+	if b.One != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 8)
+		x.xxx_hidden_One = *b.One
+	}
+	if b.Elevent != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 8)
+		x.xxx_hidden_Elevent = *b.Elevent
+	}
+	if b.Seventeen != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 8)
+		x.xxx_hidden_Seventeen = *b.Seventeen
+	}
+	if b.Thirtyseven != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 8)
+		x.xxx_hidden_Thirtyseven = *b.Thirtyseven
+	}
+	if b.Sixtyseven != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 6, 8)
+		x.xxx_hidden_Sixtyseven = *b.Sixtyseven
+	}
+	if b.Negative != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 7, 8)
+		x.xxx_hidden_Negative = *b.Negative
+	}
+	return m0
+}
+
+type TestAllTypes_NestedMessage struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_A           int32                  `protobuf:"varint,1,opt,name=a" json:"a,omitempty"`
+	xxx_hidden_Corecursive *TestAllTypes          `protobuf:"bytes,2,opt,name=corecursive" json:"corecursive,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *TestAllTypes_NestedMessage) Reset() {
+	*x = TestAllTypes_NestedMessage{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[10]
+	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_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[10]
+	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
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *TestAllTypes_NestedMessage) SetCorecursive(v *TestAllTypes) {
+	x.xxx_hidden_Corecursive = v
+}
+
+func (x *TestAllTypes_NestedMessage) HasA() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *TestAllTypes_NestedMessage) HasCorecursive() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Corecursive != nil
+}
+
+func (x *TestAllTypes_NestedMessage) ClearA() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_A = 0
+}
+
+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
+	if b.A != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_A = *b.A
+	}
+	x.xxx_hidden_Corecursive = b.Corecursive
+	return m0
+}
+
+type TestAllTypes_OptionalGroup struct {
+	state                            protoimpl.MessageState      `protogen:"opaque.v1"`
+	xxx_hidden_A                     int32                       `protobuf:"varint,17,opt,name=a" json:"a,omitempty"`
+	xxx_hidden_OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,1000,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"`
+	xxx_hidden_SameFieldNumber       int32                       `protobuf:"varint,16,opt,name=same_field_number,json=sameFieldNumber" json:"same_field_number,omitempty"`
+	XXX_raceDetectHookData           protoimpl.RaceDetectHookData
+	XXX_presence                     [1]uint32
+	unknownFields                    protoimpl.UnknownFields
+	sizeCache                        protoimpl.SizeCache
+}
+
+func (x *TestAllTypes_OptionalGroup) Reset() {
+	*x = TestAllTypes_OptionalGroup{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[11]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestAllTypes_OptionalGroup) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestAllTypes_OptionalGroup) ProtoMessage() {}
+
+func (x *TestAllTypes_OptionalGroup) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[11]
+	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_OptionalGroup) GetA() int32 {
+	if x != nil {
+		return x.xxx_hidden_A
+	}
+	return 0
+}
+
+func (x *TestAllTypes_OptionalGroup) GetOptionalNestedMessage() *TestAllTypes_NestedMessage {
+	if x != nil {
+		return x.xxx_hidden_OptionalNestedMessage
+	}
+	return nil
+}
+
+func (x *TestAllTypes_OptionalGroup) GetSameFieldNumber() int32 {
+	if x != nil {
+		return x.xxx_hidden_SameFieldNumber
+	}
+	return 0
+}
+
+func (x *TestAllTypes_OptionalGroup) SetA(v int32) {
+	x.xxx_hidden_A = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3)
+}
+
+func (x *TestAllTypes_OptionalGroup) SetOptionalNestedMessage(v *TestAllTypes_NestedMessage) {
+	x.xxx_hidden_OptionalNestedMessage = v
+}
+
+func (x *TestAllTypes_OptionalGroup) SetSameFieldNumber(v int32) {
+	x.xxx_hidden_SameFieldNumber = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
+}
+
+func (x *TestAllTypes_OptionalGroup) HasA() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *TestAllTypes_OptionalGroup) HasOptionalNestedMessage() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptionalNestedMessage != nil
+}
+
+func (x *TestAllTypes_OptionalGroup) HasSameFieldNumber() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *TestAllTypes_OptionalGroup) ClearA() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_A = 0
+}
+
+func (x *TestAllTypes_OptionalGroup) ClearOptionalNestedMessage() {
+	x.xxx_hidden_OptionalNestedMessage = nil
+}
+
+func (x *TestAllTypes_OptionalGroup) ClearSameFieldNumber() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_SameFieldNumber = 0
+}
+
+type TestAllTypes_OptionalGroup_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	A                     *int32
+	OptionalNestedMessage *TestAllTypes_NestedMessage
+	SameFieldNumber       *int32
+}
+
+func (b0 TestAllTypes_OptionalGroup_builder) Build() *TestAllTypes_OptionalGroup {
+	m0 := &TestAllTypes_OptionalGroup{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.A != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3)
+		x.xxx_hidden_A = *b.A
+	}
+	x.xxx_hidden_OptionalNestedMessage = b.OptionalNestedMessage
+	if b.SameFieldNumber != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
+		x.xxx_hidden_SameFieldNumber = *b.SameFieldNumber
+	}
+	return m0
+}
+
+type TestAllTypes_RepeatedGroup struct {
+	state                            protoimpl.MessageState      `protogen:"opaque.v1"`
+	xxx_hidden_A                     int32                       `protobuf:"varint,47,opt,name=a" json:"a,omitempty"`
+	xxx_hidden_OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,1001,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"`
+	XXX_raceDetectHookData           protoimpl.RaceDetectHookData
+	XXX_presence                     [1]uint32
+	unknownFields                    protoimpl.UnknownFields
+	sizeCache                        protoimpl.SizeCache
+}
+
+func (x *TestAllTypes_RepeatedGroup) Reset() {
+	*x = TestAllTypes_RepeatedGroup{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[12]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestAllTypes_RepeatedGroup) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestAllTypes_RepeatedGroup) ProtoMessage() {}
+
+func (x *TestAllTypes_RepeatedGroup) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[12]
+	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_RepeatedGroup) GetA() int32 {
+	if x != nil {
+		return x.xxx_hidden_A
+	}
+	return 0
+}
+
+func (x *TestAllTypes_RepeatedGroup) GetOptionalNestedMessage() *TestAllTypes_NestedMessage {
+	if x != nil {
+		return x.xxx_hidden_OptionalNestedMessage
+	}
+	return nil
+}
+
+func (x *TestAllTypes_RepeatedGroup) SetA(v int32) {
+	x.xxx_hidden_A = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *TestAllTypes_RepeatedGroup) SetOptionalNestedMessage(v *TestAllTypes_NestedMessage) {
+	x.xxx_hidden_OptionalNestedMessage = v
+}
+
+func (x *TestAllTypes_RepeatedGroup) HasA() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *TestAllTypes_RepeatedGroup) HasOptionalNestedMessage() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptionalNestedMessage != nil
+}
+
+func (x *TestAllTypes_RepeatedGroup) ClearA() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_A = 0
+}
+
+func (x *TestAllTypes_RepeatedGroup) ClearOptionalNestedMessage() {
+	x.xxx_hidden_OptionalNestedMessage = nil
+}
+
+type TestAllTypes_RepeatedGroup_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	A                     *int32
+	OptionalNestedMessage *TestAllTypes_NestedMessage
+}
+
+func (b0 TestAllTypes_RepeatedGroup_builder) Build() *TestAllTypes_RepeatedGroup {
+	m0 := &TestAllTypes_RepeatedGroup{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.A != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_A = *b.A
+	}
+	x.xxx_hidden_OptionalNestedMessage = b.OptionalNestedMessage
+	return m0
+}
+
+type TestAllTypes_OneofGroup struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_A           int32                  `protobuf:"varint,1,opt,name=a" json:"a,omitempty"`
+	xxx_hidden_B           int32                  `protobuf:"varint,2,opt,name=b" json:"b,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *TestAllTypes_OneofGroup) Reset() {
+	*x = TestAllTypes_OneofGroup{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[30]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestAllTypes_OneofGroup) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestAllTypes_OneofGroup) ProtoMessage() {}
+
+func (x *TestAllTypes_OneofGroup) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[30]
+	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_OneofGroup) GetA() int32 {
+	if x != nil {
+		return x.xxx_hidden_A
+	}
+	return 0
+}
+
+func (x *TestAllTypes_OneofGroup) GetB() int32 {
+	if x != nil {
+		return x.xxx_hidden_B
+	}
+	return 0
+}
+
+func (x *TestAllTypes_OneofGroup) SetA(v int32) {
+	x.xxx_hidden_A = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *TestAllTypes_OneofGroup) SetB(v int32) {
+	x.xxx_hidden_B = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
+}
+
+func (x *TestAllTypes_OneofGroup) HasA() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *TestAllTypes_OneofGroup) HasB() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *TestAllTypes_OneofGroup) ClearA() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_A = 0
+}
+
+func (x *TestAllTypes_OneofGroup) ClearB() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_B = 0
+}
+
+type TestAllTypes_OneofGroup_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	A *int32
+	B *int32
+}
+
+func (b0 TestAllTypes_OneofGroup_builder) Build() *TestAllTypes_OneofGroup {
+	m0 := &TestAllTypes_OneofGroup{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.A != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_A = *b.A
+	}
+	if b.B != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
+		x.xxx_hidden_B = *b.B
+	}
+	return m0
+}
+
+type TestRequiredGroupFields_OptionalGroup struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_A           int32                  `protobuf:"varint,2,req,name=a" json:"a,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *TestRequiredGroupFields_OptionalGroup) Reset() {
+	*x = TestRequiredGroupFields_OptionalGroup{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[32]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestRequiredGroupFields_OptionalGroup) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestRequiredGroupFields_OptionalGroup) ProtoMessage() {}
+
+func (x *TestRequiredGroupFields_OptionalGroup) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[32]
+	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 *TestRequiredGroupFields_OptionalGroup) GetA() int32 {
+	if x != nil {
+		return x.xxx_hidden_A
+	}
+	return 0
+}
+
+func (x *TestRequiredGroupFields_OptionalGroup) SetA(v int32) {
+	x.xxx_hidden_A = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *TestRequiredGroupFields_OptionalGroup) HasA() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *TestRequiredGroupFields_OptionalGroup) ClearA() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_A = 0
+}
+
+type TestRequiredGroupFields_OptionalGroup_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	A *int32
+}
+
+func (b0 TestRequiredGroupFields_OptionalGroup_builder) Build() *TestRequiredGroupFields_OptionalGroup {
+	m0 := &TestRequiredGroupFields_OptionalGroup{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.A != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_A = *b.A
+	}
+	return m0
+}
+
+type TestRequiredGroupFields_RepeatedGroup struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_A           int32                  `protobuf:"varint,4,req,name=a" json:"a,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *TestRequiredGroupFields_RepeatedGroup) Reset() {
+	*x = TestRequiredGroupFields_RepeatedGroup{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[33]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestRequiredGroupFields_RepeatedGroup) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestRequiredGroupFields_RepeatedGroup) ProtoMessage() {}
+
+func (x *TestRequiredGroupFields_RepeatedGroup) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[33]
+	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 *TestRequiredGroupFields_RepeatedGroup) GetA() int32 {
+	if x != nil {
+		return x.xxx_hidden_A
+	}
+	return 0
+}
+
+func (x *TestRequiredGroupFields_RepeatedGroup) SetA(v int32) {
+	x.xxx_hidden_A = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *TestRequiredGroupFields_RepeatedGroup) HasA() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *TestRequiredGroupFields_RepeatedGroup) ClearA() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_A = 0
+}
+
+type TestRequiredGroupFields_RepeatedGroup_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	A *int32
+}
+
+func (b0 TestRequiredGroupFields_RepeatedGroup_builder) Build() *TestRequiredGroupFields_RepeatedGroup {
+	m0 := &TestRequiredGroupFields_RepeatedGroup{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.A != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_A = *b.A
+	}
+	return m0
+}
+
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes = []protoimpl.ExtensionInfo{
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         90,
+		Name:          "hybrid.goproto.proto.testeditions.packed_int32",
+		Tag:           "varint,90,rep,packed,name=packed_int32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]int64)(nil),
+		Field:         91,
+		Name:          "hybrid.goproto.proto.testeditions.packed_int64",
+		Tag:           "varint,91,rep,packed,name=packed_int64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]uint32)(nil),
+		Field:         92,
+		Name:          "hybrid.goproto.proto.testeditions.packed_uint32",
+		Tag:           "varint,92,rep,packed,name=packed_uint32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]uint64)(nil),
+		Field:         93,
+		Name:          "hybrid.goproto.proto.testeditions.packed_uint64",
+		Tag:           "varint,93,rep,packed,name=packed_uint64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         94,
+		Name:          "hybrid.goproto.proto.testeditions.packed_sint32",
+		Tag:           "zigzag32,94,rep,packed,name=packed_sint32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]int64)(nil),
+		Field:         95,
+		Name:          "hybrid.goproto.proto.testeditions.packed_sint64",
+		Tag:           "zigzag64,95,rep,packed,name=packed_sint64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]uint32)(nil),
+		Field:         96,
+		Name:          "hybrid.goproto.proto.testeditions.packed_fixed32",
+		Tag:           "fixed32,96,rep,packed,name=packed_fixed32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]uint64)(nil),
+		Field:         97,
+		Name:          "hybrid.goproto.proto.testeditions.packed_fixed64",
+		Tag:           "fixed64,97,rep,packed,name=packed_fixed64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         98,
+		Name:          "hybrid.goproto.proto.testeditions.packed_sfixed32",
+		Tag:           "fixed32,98,rep,packed,name=packed_sfixed32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]int64)(nil),
+		Field:         99,
+		Name:          "hybrid.goproto.proto.testeditions.packed_sfixed64",
+		Tag:           "fixed64,99,rep,packed,name=packed_sfixed64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]float32)(nil),
+		Field:         100,
+		Name:          "hybrid.goproto.proto.testeditions.packed_float",
+		Tag:           "fixed32,100,rep,packed,name=packed_float",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]float64)(nil),
+		Field:         101,
+		Name:          "hybrid.goproto.proto.testeditions.packed_double",
+		Tag:           "fixed64,101,rep,packed,name=packed_double",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]bool)(nil),
+		Field:         102,
+		Name:          "hybrid.goproto.proto.testeditions.packed_bool",
+		Tag:           "varint,102,rep,packed,name=packed_bool",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestPackedExtensions)(nil),
+		ExtensionType: ([]ForeignEnum)(nil),
+		Field:         103,
+		Name:          "hybrid.goproto.proto.testeditions.packed_enum",
+		Tag:           "varint,103,rep,packed,name=packed_enum,enum=hybrid.goproto.proto.testeditions.ForeignEnum",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test.hybrid.proto",
+	},
+}
+
+// Extension fields to TestPackedExtensions.
+var (
+	// repeated int32 packed_int32 = 90;
+	E_PackedInt32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[0]
+	// repeated int64 packed_int64 = 91;
+	E_PackedInt64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[1]
+	// repeated uint32 packed_uint32 = 92;
+	E_PackedUint32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[2]
+	// repeated uint64 packed_uint64 = 93;
+	E_PackedUint64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[3]
+	// repeated sint32 packed_sint32 = 94;
+	E_PackedSint32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[4]
+	// repeated sint64 packed_sint64 = 95;
+	E_PackedSint64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[5]
+	// repeated fixed32 packed_fixed32 = 96;
+	E_PackedFixed32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[6]
+	// repeated fixed64 packed_fixed64 = 97;
+	E_PackedFixed64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[7]
+	// repeated sfixed32 packed_sfixed32 = 98;
+	E_PackedSfixed32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[8]
+	// repeated sfixed64 packed_sfixed64 = 99;
+	E_PackedSfixed64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[9]
+	// repeated float packed_float = 100;
+	E_PackedFloat = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[10]
+	// repeated double packed_double = 101;
+	E_PackedDouble = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[11]
+	// repeated bool packed_bool = 102;
+	E_PackedBool = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[12]
+	// repeated hybrid.goproto.proto.testeditions.ForeignEnum packed_enum = 103;
+	E_PackedEnum = &file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes[13]
+)
+
+var File_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_rawDesc = []byte{
+	0x0a, 0x46, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x21, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x69, 0x6e, 0x74,
+	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73,
+	0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x5f, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
+	0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x1a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
+	0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x49, 0x0a, 0x0c, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x0e, 0x73, 0x69, 0x6e,
+	0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x7c, 0x20, 0x01, 0x28,
+	0x05, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+	0x61, 0x72, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2c, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75,
+	0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x7d, 0x20, 0x01, 0x28, 0x03, 0x42,
+	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
+	0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2e, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+	0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x55,
+	0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2e, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+	0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x7f, 0x20, 0x01, 0x28, 0x04, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x55,
+	0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+	0x72, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42,
+	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
+	0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+	0x61, 0x72, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 0x12,
+	0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+	0x72, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x31, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75,
+	0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x82, 0x01, 0x20, 0x01,
+	0x28, 0x07, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75,
+	0x6c, 0x61, 0x72, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x31, 0x0a, 0x10, 0x73, 0x69,
+	0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x83,
+	0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0f, 0x73, 0x69,
+	0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x33, 0x0a,
+	0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
+	0x33, 0x32, 0x18, 0x84, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02,
+	0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64,
+	0x33, 0x32, 0x12, 0x33, 0x0a, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73,
+	0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x85, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53,
+	0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75,
+	0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x86, 0x01, 0x20, 0x01, 0x28, 0x02,
+	0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+	0x72, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+	0x61, 0x72, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x87, 0x01, 0x20, 0x01, 0x28, 0x01,
+	0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+	0x72, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75,
+	0x6c, 0x61, 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x88, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42,
+	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
+	0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
+	0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53,
+	0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+	0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42,
+	0x79, 0x74, 0x65, 0x73, 0x12, 0x74, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
+	0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x8e, 0x01, 0x20,
+	0x01, 0x28, 0x0e, 0x32, 0x3a, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+	0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x42,
+	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
+	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x6a, 0x0a, 0x15, 0x73, 0x69,
+	0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65,
+	0x6e, 0x75, 0x6d, 0x18, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46,
+	0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08,
+	0x02, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69,
+	0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x67, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
+	0x61, 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x90,
+	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
+	0x45, 0x6e, 0x75, 0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x12, 0x73, 0x69, 0x6e,
+	0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12,
+	0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33,
+	0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+	0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
+	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a,
+	0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
+	0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+	0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
+	0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+	0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74,
+	0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69,
+	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28,
+	0x12, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x36,
+	0x34, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69,
+	0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x6f, 0x70, 0x74,
+	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10,
+	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
+	0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+	0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 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, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78,
+	0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 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, 0x52,
+	0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
+	0x34, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c,
+	0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+	0x6e, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69,
+	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
+	0x01, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c,
+	0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f,
+	0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12,
+	0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65,
+	0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+	0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6a, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x10, 0x20, 0x01, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f,
+	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01,
+	0x02, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f,
+	0x75, 0x70, 0x12, 0x7d, 0x0a, 0x18, 0x6e, 0x6f, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
+	0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x11,
+	0x20, 0x01, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72,
+	0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x15, 0x6e, 0x6f, 0x74, 0x47,
+	0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6b, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65,
+	0x64, 0x12, 0x75, 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, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65,
+	0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6b, 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, 0x31, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46,
+	0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x6f,
+	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x68, 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, 0x30, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
+	0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
+	0x6c, 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, 0x3a, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 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, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+	0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x62, 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, 0x2e, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x6f, 0x70,
+	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75,
+	0x6d, 0x12, 0x5f, 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,
+	0x2d, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12,
+	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e,
+	0x75, 0x6d, 0x12, 0x82, 0x01, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+	0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73,
+	0x61, 0x67, 0x65, 0x18, 0x18, 0x20, 0x01, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x42, 0x02, 0x28, 0x01, 0x52, 0x19, 0x6f, 0x70,
+	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x61, 0x7a, 0x79, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 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, 0x6c,
+	0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18,
+	0x2e, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47,
+	0x72, 0x6f, 0x75, 0x70, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x18, 0x02, 0x28, 0x02, 0x52, 0x0d, 0x72,
+	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x75, 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, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 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, 0x6b, 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, 0x31, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x67, 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, 0x30, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 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, 0x6c, 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, 0x3a, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x62, 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, 0x2e, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x5e, 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, 0x2d, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x6a, 0x0a, 0x0f, 0x6d,
+	0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x38,
+	0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x6a, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69,
+	0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b,
+	0x32, 0x42, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 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, 0x70, 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, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 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, 0x70, 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, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 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, 0x70, 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, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x70, 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, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x76, 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, 0x46, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x76, 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, 0x46, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 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, 0x7c, 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, 0x48, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x7c, 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, 0x48, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x6a, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69,
+	0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b,
+	0x32, 0x42, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 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, 0x6d, 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, 0x43, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 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, 0x64, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62,
+	0x6f, 0x6f, 0x6c, 0x18, 0x44, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x70, 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, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x6d, 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, 0x43, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x86, 0x01, 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, 0x4b, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 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, 0x7d, 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, 0x48, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x27, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74,
+	0x33, 0x32, 0x18, 0x51, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x38, 0x31, 0x52, 0x0c, 0x64, 0x65,
+	0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x65,
+	0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x52, 0x20, 0x01, 0x28,
+	0x03, 0x3a, 0x02, 0x38, 0x32, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e,
+	0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75,
+	0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x02, 0x38, 0x33, 0x52,
+	0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x29,
+	0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
+	0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x02, 0x38, 0x34, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61,
+	0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x65, 0x66,
+	0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x55, 0x20, 0x01, 0x28,
+	0x11, 0x3a, 0x03, 0x2d, 0x38, 0x35, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53,
+	0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+	0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x3a, 0x02, 0x38,
+	0x36, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34,
+	0x12, 0x2b, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65,
+	0x64, 0x33, 0x32, 0x18, 0x57, 0x20, 0x01, 0x28, 0x07, 0x3a, 0x02, 0x38, 0x37, 0x52, 0x0e, 0x64,
+	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a,
+	0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
+	0x18, 0x58, 0x20, 0x01, 0x28, 0x06, 0x3a, 0x02, 0x38, 0x38, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61,
+	0x75, 0x6c, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2d, 0x0a, 0x10, 0x64, 0x65,
+	0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x59,
+	0x20, 0x01, 0x28, 0x0f, 0x3a, 0x02, 0x38, 0x39, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+	0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x66,
+	0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x50, 0x20,
+	0x01, 0x28, 0x10, 0x3a, 0x03, 0x2d, 0x39, 0x30, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+	0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x0d, 0x64, 0x65, 0x66,
+	0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x02,
+	0x3a, 0x04, 0x39, 0x31, 0x2e, 0x35, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46,
+	0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
+	0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x3a, 0x05, 0x39, 0x32,
+	0x30, 0x30, 0x30, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x6f, 0x75, 0x62,
+	0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x6f,
+	0x6f, 0x6c, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0b,
+	0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x2c, 0x0a, 0x0e, 0x64,
+	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x5e, 0x20,
+	0x01, 0x28, 0x09, 0x3a, 0x05, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61,
+	0x75, 0x6c, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0d, 0x64, 0x65, 0x66,
+	0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c,
+	0x3a, 0x05, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+	0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6f, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+	0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x60, 0x20, 0x01,
+	0x28, 0x0e, 0x32, 0x3a, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+	0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x03,
+	0x42, 0x41, 0x52, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x73, 0x74,
+	0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x6d, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+	0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x61,
+	0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e,
+	0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41,
+	0x52, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67,
+	0x6e, 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, 0x71, 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, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x5b, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75,
+	0x6d, 0x18, 0x77, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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,
+	0x12, 0x63, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x79,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70,
+	0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
+	0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x34, 0x0a, 0x15, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6f,
+	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x78,
+	0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x13, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74,
+	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x1a, 0x70, 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, 0x51, 0x0a, 0x0b, 0x63, 0x6f,
+	0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 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, 0xc1, 0x01,
+	0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
+	0x0c, 0x0a, 0x01, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x12, 0x76, 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, 0xe8, 0x07, 0x20, 0x01, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 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,
+	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x69,
+	0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05,
+	0x52, 0x0f, 0x73, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65,
+	0x72, 0x1a, 0x95, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72,
+	0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01,
+	0x61, 0x12, 0x76, 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, 0xe9, 0x07, 0x20,
+	0x01, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74,
+	0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 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, 0x88, 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, 0x53, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+	0x18, 0x02, 0x20, 0x01, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x82, 0x01, 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,
+	0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 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, 0x1a, 0x28, 0x0a, 0x0a, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47, 0x72,
+	0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01,
+	0x61, 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x62, 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, 0x10, 0x0a, 0x0e, 0x6f, 0x6e, 0x65,
+	0x6f, 0x66, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0xba, 0x34, 0x0a, 0x1c,
+	0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46,
+	0x69, 0x65, 0x6c, 0x64, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x02,
+	0x66, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02, 0x66, 0x31, 0x12, 0x3f, 0x0a,
+	0x02, 0x66, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02, 0x66, 0x32, 0x12, 0x3f,
+	0x0a, 0x02, 0x66, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02, 0x66, 0x33, 0x12,
+	0x3f, 0x0a, 0x02, 0x66, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02, 0x66, 0x34,
+	0x12, 0x3f, 0x0a, 0x02, 0x66, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02, 0x66,
+	0x35, 0x12, 0x3f, 0x0a, 0x02, 0x66, 0x36, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x02,
+	0x66, 0x36, 0x12, 0x3f, 0x0a, 0x02, 0x66, 0x37, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
+	0x02, 0x66, 0x37, 0x12, 0x3f, 0x0a, 0x02, 0x66, 0x38, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+	0x52, 0x02, 0x66, 0x38, 0x12, 0x3f, 0x0a, 0x02, 0x66, 0x39, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+	0x73, 0x52, 0x02, 0x66, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x30, 0x18, 0x0a, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x31, 0x18,
+	0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66,
+	0x31, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x32, 0x12, 0x41,
+	0x0a, 0x03, 0x66, 0x31, 0x33, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31,
+	0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x34, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
+	0x03, 0x66, 0x31, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x35, 0x18, 0x0f, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+	0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x36, 0x18, 0x10,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x31,
+	0x37, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
+	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x37, 0x12, 0x41, 0x0a,
+	0x03, 0x66, 0x31, 0x38, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x31, 0x38,
+	0x12, 0x41, 0x0a, 0x03, 0x66, 0x31, 0x39, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
+	0x66, 0x31, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x30, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+	0x73, 0x52, 0x03, 0x66, 0x32, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x31, 0x18, 0x15, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+	0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x32,
+	0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x32, 0x12, 0x41, 0x0a, 0x03,
+	0x66, 0x32, 0x33, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x33, 0x12,
+	0x41, 0x0a, 0x03, 0x66, 0x32, 0x34, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66,
+	0x32, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x35, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+	0x52, 0x03, 0x66, 0x32, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x36, 0x18, 0x1a, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x32, 0x37, 0x18,
+	0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x37, 0x12, 0x41, 0x0a, 0x03, 0x66,
+	0x32, 0x38, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32, 0x38, 0x12, 0x41,
+	0x0a, 0x03, 0x66, 0x32, 0x39, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x32,
+	0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x30, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
+	0x03, 0x66, 0x33, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x31, 0x18, 0x1f, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+	0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x32, 0x18, 0x20,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x32, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33,
+	0x33, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
+	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x33, 0x12, 0x41, 0x0a,
+	0x03, 0x66, 0x33, 0x34, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x34,
+	0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x35, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
+	0x66, 0x33, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x36, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+	0x73, 0x52, 0x03, 0x66, 0x33, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x37, 0x18, 0x25, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+	0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x37, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x33, 0x38,
+	0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x38, 0x12, 0x41, 0x0a, 0x03,
+	0x66, 0x33, 0x39, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x33, 0x39, 0x12,
+	0x41, 0x0a, 0x03, 0x66, 0x34, 0x30, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66,
+	0x34, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x31, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+	0x52, 0x03, 0x66, 0x34, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x32, 0x18, 0x2a, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x32, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x33, 0x18,
+	0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x33, 0x12, 0x41, 0x0a, 0x03, 0x66,
+	0x34, 0x34, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x34, 0x12, 0x41,
+	0x0a, 0x03, 0x66, 0x34, 0x35, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34,
+	0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x36, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
+	0x03, 0x66, 0x34, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x37, 0x18, 0x2f, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+	0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x37, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34, 0x38, 0x18, 0x30,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x38, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x34,
+	0x39, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
+	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x34, 0x39, 0x12, 0x41, 0x0a,
+	0x03, 0x66, 0x35, 0x30, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x30,
+	0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x31, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
+	0x66, 0x35, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x32, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+	0x73, 0x52, 0x03, 0x66, 0x35, 0x32, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x33, 0x18, 0x35, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+	0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x34,
+	0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x34, 0x12, 0x41, 0x0a, 0x03,
+	0x66, 0x35, 0x35, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x35, 0x12,
+	0x41, 0x0a, 0x03, 0x66, 0x35, 0x36, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66,
+	0x35, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x37, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+	0x52, 0x03, 0x66, 0x35, 0x37, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x38, 0x18, 0x3a, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x38, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x35, 0x39, 0x18,
+	0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x35, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66,
+	0x36, 0x30, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x30, 0x12, 0x41,
+	0x0a, 0x03, 0x66, 0x36, 0x31, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36,
+	0x31, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x32, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
+	0x03, 0x66, 0x36, 0x32, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x33, 0x18, 0x3f, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+	0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x34, 0x18, 0x40,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36,
+	0x35, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
+	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x35, 0x12, 0x41, 0x0a,
+	0x03, 0x66, 0x36, 0x36, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x36,
+	0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x37, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
+	0x66, 0x36, 0x37, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x38, 0x18, 0x44, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+	0x73, 0x52, 0x03, 0x66, 0x36, 0x38, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x36, 0x39, 0x18, 0x45, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+	0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x36, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x30,
+	0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x30, 0x12, 0x41, 0x0a, 0x03,
+	0x66, 0x37, 0x31, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x31, 0x12,
+	0x41, 0x0a, 0x03, 0x66, 0x37, 0x32, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66,
+	0x37, 0x32, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x33, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+	0x52, 0x03, 0x66, 0x37, 0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x34, 0x18, 0x4a, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x35, 0x18,
+	0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66,
+	0x37, 0x36, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x36, 0x12, 0x41,
+	0x0a, 0x03, 0x66, 0x37, 0x37, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x37,
+	0x37, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x38, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
+	0x03, 0x66, 0x37, 0x38, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x37, 0x39, 0x18, 0x4f, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+	0x65, 0x73, 0x52, 0x03, 0x66, 0x37, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x30, 0x18, 0x50,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38,
+	0x31, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
+	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x31, 0x12, 0x41, 0x0a,
+	0x03, 0x66, 0x38, 0x32, 0x18, 0x52, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x32,
+	0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x33, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
+	0x66, 0x38, 0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x34, 0x18, 0x54, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
+	0x73, 0x52, 0x03, 0x66, 0x38, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x35, 0x18, 0x55, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+	0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x36,
+	0x18, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x36, 0x12, 0x41, 0x0a, 0x03,
+	0x66, 0x38, 0x37, 0x18, 0x57, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x38, 0x37, 0x12,
+	0x41, 0x0a, 0x03, 0x66, 0x38, 0x38, 0x18, 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66,
+	0x38, 0x38, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x38, 0x39, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
+	0x52, 0x03, 0x66, 0x38, 0x39, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x30, 0x18, 0x5a, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+	0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x30, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x31, 0x18,
+	0x5b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+	0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x31, 0x12, 0x41, 0x0a, 0x03, 0x66,
+	0x39, 0x32, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x32, 0x12, 0x41,
+	0x0a, 0x03, 0x66, 0x39, 0x33, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39,
+	0x33, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x34, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
+	0x03, 0x66, 0x39, 0x34, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x35, 0x18, 0x5f, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+	0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x35, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x36, 0x18, 0x60,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x36, 0x12, 0x41, 0x0a, 0x03, 0x66, 0x39,
+	0x37, 0x18, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
+	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x37, 0x12, 0x41, 0x0a,
+	0x03, 0x66, 0x39, 0x38, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03, 0x66, 0x39, 0x38,
+	0x12, 0x41, 0x0a, 0x03, 0x66, 0x39, 0x39, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x03,
+	0x66, 0x39, 0x39, 0x12, 0x43, 0x0a, 0x04, 0x66, 0x31, 0x30, 0x30, 0x18, 0x64, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+	0x65, 0x73, 0x52, 0x04, 0x66, 0x31, 0x30, 0x30, 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, 0x22, 0x3c, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65,
+	0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72,
+	0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46,
+	0x69, 0x65, 0x6c, 0x64, 0x22, 0x8d, 0x04, 0x0a, 0x13, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
+	0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x12, 0x5a, 0x0a, 0x10,
+	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52,
+	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+	0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5a, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65,
+	0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03,
+	0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69,
+	0x72, 0x65, 0x64, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73,
+	0x73, 0x61, 0x67, 0x65, 0x12, 0x67, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73,
+	0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67,
+	0x6e, 0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72,
+	0x79, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x56, 0x0a,
+	0x0d, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
+	0x75, 0x69, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x6e, 0x0a, 0x0f, 0x4d, 0x61, 0x70, 0x4d, 0x65, 0x73, 0x73,
+	0x61, 0x67, 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, 0x45, 0x0a, 0x05, 0x76, 0x61,
+	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+	0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66,
+	0x69, 0x65, 0x6c, 0x64, 0x22, 0xd3, 0x02, 0x0a, 0x17, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
+	0x75, 0x69, 0x72, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73,
+	0x12, 0x75, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75,
+	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
+	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65,
+	0x6c, 0x64, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75,
+	0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x75, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61,
+	0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47,
+	0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61,
+	0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52,
+	0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x24,
+	0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
+	0x13, 0x0a, 0x01, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08,
+	0x03, 0x52, 0x01, 0x61, 0x1a, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+	0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x13, 0x0a, 0x01, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
+	0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x01, 0x61, 0x22, 0x7b, 0x0a, 0x10, 0x54, 0x65,
+	0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x7a, 0x79, 0x12, 0x67,
+	0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x61, 0x7a, 0x79, 0x5f,
+	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x42, 0x02,
+	0x28, 0x01, 0x52, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x61, 0x7a, 0x79,
+	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa7, 0x05, 0x0a, 0x0f, 0x54, 0x65, 0x73, 0x74,
+	0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0c, 0x70,
+	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x5a, 0x20, 0x03, 0x28,
+	0x05, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64,
+	0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x28, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f,
+	0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x5b, 0x20, 0x03, 0x28, 0x03, 0x42, 0x05, 0xaa, 0x01, 0x02,
+	0x18, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12,
+	0x2a, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
+	0x18, 0x5c, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70,
+	0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2a, 0x0a, 0x0d, 0x70,
+	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x5d, 0x20, 0x03,
+	0x28, 0x04, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65,
+	0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65,
+	0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x5e, 0x20, 0x03, 0x28, 0x11, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e,
+	0x74, 0x33, 0x32, 0x12, 0x2a, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x69,
+	0x6e, 0x74, 0x36, 0x34, 0x18, 0x5f, 0x20, 0x03, 0x28, 0x12, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18,
+	0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+	0x2c, 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
+	0x32, 0x18, 0x60, 0x20, 0x03, 0x28, 0x07, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0d,
+	0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2c, 0x0a,
+	0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18,
+	0x61, 0x20, 0x03, 0x28, 0x06, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x70, 0x61,
+	0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2e, 0x0a, 0x0f, 0x70,
+	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x62,
+	0x20, 0x03, 0x28, 0x0f, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63,
+	0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2e, 0x0a, 0x0f, 0x70,
+	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x63,
+	0x20, 0x03, 0x28, 0x10, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63,
+	0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x28, 0x0a, 0x0c, 0x70,
+	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x64, 0x20, 0x03, 0x28,
+	0x02, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64,
+	0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f,
+	0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x65, 0x20, 0x03, 0x28, 0x01, 0x42, 0x05, 0xaa, 0x01,
+	0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c,
+	0x65, 0x12, 0x26, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c,
+	0x18, 0x66, 0x20, 0x03, 0x28, 0x08, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70,
+	0x61, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x56, 0x0a, 0x0b, 0x70, 0x61, 0x63,
+	0x6b, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x67, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2e,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x6e, 0x75,
+	0x6d, 0x22, 0x20, 0x0a, 0x14, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80,
+	0x80, 0x80, 0x02, 0x22, 0xb7, 0x04, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x65,
+	0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+	0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e,
+	0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+	0x74, 0x12, 0x3a, 0x0a, 0x04, 0x7a, 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
+	0x20, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75,
+	0x6d, 0x3a, 0x04, 0x5a, 0x45, 0x52, 0x4f, 0x52, 0x04, 0x7a, 0x65, 0x72, 0x6f, 0x12, 0x37, 0x0a,
+	0x03, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x03, 0x4f, 0x4e,
+	0x45, 0x52, 0x03, 0x6f, 0x6e, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6e,
+	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65,
+	0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x07, 0x45, 0x4c, 0x45, 0x56, 0x45,
+	0x4e, 0x54, 0x52, 0x07, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x73,
+	0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20,
+	0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d,
+	0x3a, 0x09, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x45, 0x45, 0x4e, 0x52, 0x09, 0x73, 0x65, 0x76,
+	0x65, 0x6e, 0x74, 0x65, 0x65, 0x6e, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x68, 0x69, 0x72, 0x74, 0x79,
+	0x73, 0x65, 0x76, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x68, 0x79,
+	0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0b, 0x54,
+	0x48, 0x49, 0x52, 0x54, 0x59, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x52, 0x0b, 0x74, 0x68, 0x69, 0x72,
+	0x74, 0x79, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x69, 0x78, 0x74, 0x79,
+	0x73, 0x65, 0x76, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x68, 0x79,
+	0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0a, 0x53,
+	0x49, 0x58, 0x54, 0x59, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x52, 0x0a, 0x73, 0x69, 0x78, 0x74, 0x79,
+	0x73, 0x65, 0x76, 0x65, 0x6e, 0x12, 0x46, 0x0a, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76,
+	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65,
+	0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x08, 0x4e, 0x45, 0x47, 0x41, 0x54,
+	0x49, 0x56, 0x45, 0x52, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 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, 0x3a, 0x61, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33,
+	0x32, 0x12, 0x37, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64,
+	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5a, 0x20, 0x03, 0x28, 0x05,
+	0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x49,
+	0x6e, 0x74, 0x33, 0x32, 0x3a, 0x61, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69,
+	0x6e, 0x74, 0x36, 0x34, 0x12, 0x37, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63,
+	0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5b, 0x20,
+	0x03, 0x28, 0x03, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b,
+	0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x63, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65,
+	0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x37, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+	0x73, 0x18, 0x5c, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c,
+	0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x63, 0x0a, 0x0d,
+	0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x37, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5d, 0x20, 0x03, 0x28, 0x04, 0x42, 0x05, 0xaa, 0x01,
+	0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36,
+	0x34, 0x3a, 0x63, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74,
+	0x33, 0x32, 0x12, 0x37, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65,
+	0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5e, 0x20, 0x03, 0x28,
+	0x11, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64,
+	0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x63, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64,
+	0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x37, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
+	0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+	0x18, 0x5f, 0x20, 0x03, 0x28, 0x12, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70,
+	0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x65, 0x0a, 0x0e, 0x70,
+	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x37, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x60, 0x20, 0x03, 0x28, 0x07, 0x42, 0x05, 0xaa, 0x01,
+	0x02, 0x18, 0x01, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64,
+	0x33, 0x32, 0x3a, 0x65, 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78,
+	0x65, 0x64, 0x36, 0x34, 0x12, 0x37, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63,
+	0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x61, 0x20,
+	0x03, 0x28, 0x06, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b,
+	0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x67, 0x0a, 0x0f, 0x70, 0x61, 0x63,
+	0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x37, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e,
+	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x62, 0x20, 0x03, 0x28, 0x0f, 0x42, 0x05, 0xaa, 0x01, 0x02,
+	0x18, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64,
+	0x33, 0x32, 0x3a, 0x67, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69,
+	0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x37, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61,
+	0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x63,
+	0x20, 0x03, 0x28, 0x10, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63,
+	0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x61, 0x0a, 0x0c, 0x70,
+	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x37, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x02, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18,
+	0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x63,
+	0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12,
+	0x37, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78,
+	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x65, 0x20, 0x03, 0x28, 0x01, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x44, 0x6f, 0x75,
+	0x62, 0x6c, 0x65, 0x3a, 0x5f, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x6f,
+	0x6f, 0x6c, 0x12, 0x37, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65,
+	0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x66, 0x20, 0x03, 0x28,
+	0x08, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64,
+	0x42, 0x6f, 0x6f, 0x6c, 0x3a, 0x8f, 0x01, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f,
+	0x65, 0x6e, 0x75, 0x6d, 0x12, 0x37, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63,
+	0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x67, 0x20,
+	0x03, 0x28, 0x0e, 0x32, 0x2e, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45,
+	0x6e, 0x75, 0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b,
+	0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x59, 0x5a, 0x4f, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x92, 0x03, 0x05, 0xd2, 0x3e, 0x02, 0x10,
+	0x02, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
+}
+
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_goTypes = []any{
+	(ForeignEnum)(0),                     // 0: hybrid.goproto.proto.testeditions.ForeignEnum
+	(TestAllTypes_NestedEnum)(0),         // 1: hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum
+	(*TestAllTypes)(nil),                 // 2: hybrid.goproto.proto.testeditions.TestAllTypes
+	(*TestManyMessageFieldsMessage)(nil), // 3: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage
+	(*ForeignMessage)(nil),               // 4: hybrid.goproto.proto.testeditions.ForeignMessage
+	(*TestRequired)(nil),                 // 5: hybrid.goproto.proto.testeditions.TestRequired
+	(*TestRequiredForeign)(nil),          // 6: hybrid.goproto.proto.testeditions.TestRequiredForeign
+	(*TestRequiredGroupFields)(nil),      // 7: hybrid.goproto.proto.testeditions.TestRequiredGroupFields
+	(*TestRequiredLazy)(nil),             // 8: hybrid.goproto.proto.testeditions.TestRequiredLazy
+	(*TestPackedTypes)(nil),              // 9: hybrid.goproto.proto.testeditions.TestPackedTypes
+	(*TestPackedExtensions)(nil),         // 10: hybrid.goproto.proto.testeditions.TestPackedExtensions
+	(*RemoteDefault)(nil),                // 11: hybrid.goproto.proto.testeditions.RemoteDefault
+	(*TestAllTypes_NestedMessage)(nil),   // 12: hybrid.goproto.proto.testeditions.TestAllTypes.NestedMessage
+	(*TestAllTypes_OptionalGroup)(nil),   // 13: hybrid.goproto.proto.testeditions.TestAllTypes.OptionalGroup
+	(*TestAllTypes_RepeatedGroup)(nil),   // 14: hybrid.goproto.proto.testeditions.TestAllTypes.RepeatedGroup
+	nil,                                  // 15: hybrid.goproto.proto.testeditions.TestAllTypes.MapInt32Int32Entry
+	nil,                                  // 16: hybrid.goproto.proto.testeditions.TestAllTypes.MapInt64Int64Entry
+	nil,                                  // 17: hybrid.goproto.proto.testeditions.TestAllTypes.MapUint32Uint32Entry
+	nil,                                  // 18: hybrid.goproto.proto.testeditions.TestAllTypes.MapUint64Uint64Entry
+	nil,                                  // 19: hybrid.goproto.proto.testeditions.TestAllTypes.MapSint32Sint32Entry
+	nil,                                  // 20: hybrid.goproto.proto.testeditions.TestAllTypes.MapSint64Sint64Entry
+	nil,                                  // 21: hybrid.goproto.proto.testeditions.TestAllTypes.MapFixed32Fixed32Entry
+	nil,                                  // 22: hybrid.goproto.proto.testeditions.TestAllTypes.MapFixed64Fixed64Entry
+	nil,                                  // 23: hybrid.goproto.proto.testeditions.TestAllTypes.MapSfixed32Sfixed32Entry
+	nil,                                  // 24: hybrid.goproto.proto.testeditions.TestAllTypes.MapSfixed64Sfixed64Entry
+	nil,                                  // 25: hybrid.goproto.proto.testeditions.TestAllTypes.MapInt32FloatEntry
+	nil,                                  // 26: hybrid.goproto.proto.testeditions.TestAllTypes.MapInt32DoubleEntry
+	nil,                                  // 27: hybrid.goproto.proto.testeditions.TestAllTypes.MapBoolBoolEntry
+	nil,                                  // 28: hybrid.goproto.proto.testeditions.TestAllTypes.MapStringStringEntry
+	nil,                                  // 29: hybrid.goproto.proto.testeditions.TestAllTypes.MapStringBytesEntry
+	nil,                                  // 30: hybrid.goproto.proto.testeditions.TestAllTypes.MapStringNestedMessageEntry
+	nil,                                  // 31: hybrid.goproto.proto.testeditions.TestAllTypes.MapStringNestedEnumEntry
+	(*TestAllTypes_OneofGroup)(nil),      // 32: hybrid.goproto.proto.testeditions.TestAllTypes.OneofGroup
+	nil,                                  // 33: hybrid.goproto.proto.testeditions.TestRequiredForeign.MapMessageEntry
+	(*TestRequiredGroupFields_OptionalGroup)(nil), // 34: hybrid.goproto.proto.testeditions.TestRequiredGroupFields.OptionalGroup
+	(*TestRequiredGroupFields_RepeatedGroup)(nil), // 35: hybrid.goproto.proto.testeditions.TestRequiredGroupFields.RepeatedGroup
+	(ImportEnum)(0),        // 36: hybrid.goproto.proto.testeditions.ImportEnum
+	(*ImportMessage)(nil),  // 37: hybrid.goproto.proto.testeditions.ImportMessage
+	(enums_hybrid.Enum)(0), // 38: hybrid.goproto.proto.enums.Enum
+}
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_depIdxs = []int32{
+	1,   // 0: hybrid.goproto.proto.testeditions.TestAllTypes.singular_nested_enum:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum
+	0,   // 1: hybrid.goproto.proto.testeditions.TestAllTypes.singular_foreign_enum:type_name -> hybrid.goproto.proto.testeditions.ForeignEnum
+	36,  // 2: hybrid.goproto.proto.testeditions.TestAllTypes.singular_import_enum:type_name -> hybrid.goproto.proto.testeditions.ImportEnum
+	13,  // 3: hybrid.goproto.proto.testeditions.TestAllTypes.optionalgroup:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.OptionalGroup
+	13,  // 4: hybrid.goproto.proto.testeditions.TestAllTypes.not_group_like_delimited:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.OptionalGroup
+	12,  // 5: hybrid.goproto.proto.testeditions.TestAllTypes.optional_nested_message:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedMessage
+	4,   // 6: hybrid.goproto.proto.testeditions.TestAllTypes.optional_foreign_message:type_name -> hybrid.goproto.proto.testeditions.ForeignMessage
+	37,  // 7: hybrid.goproto.proto.testeditions.TestAllTypes.optional_import_message:type_name -> hybrid.goproto.proto.testeditions.ImportMessage
+	1,   // 8: hybrid.goproto.proto.testeditions.TestAllTypes.optional_nested_enum:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum
+	0,   // 9: hybrid.goproto.proto.testeditions.TestAllTypes.optional_foreign_enum:type_name -> hybrid.goproto.proto.testeditions.ForeignEnum
+	36,  // 10: hybrid.goproto.proto.testeditions.TestAllTypes.optional_import_enum:type_name -> hybrid.goproto.proto.testeditions.ImportEnum
+	12,  // 11: hybrid.goproto.proto.testeditions.TestAllTypes.optional_lazy_nested_message:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedMessage
+	14,  // 12: hybrid.goproto.proto.testeditions.TestAllTypes.repeatedgroup:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.RepeatedGroup
+	12,  // 13: hybrid.goproto.proto.testeditions.TestAllTypes.repeated_nested_message:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedMessage
+	4,   // 14: hybrid.goproto.proto.testeditions.TestAllTypes.repeated_foreign_message:type_name -> hybrid.goproto.proto.testeditions.ForeignMessage
+	37,  // 15: hybrid.goproto.proto.testeditions.TestAllTypes.repeated_importmessage:type_name -> hybrid.goproto.proto.testeditions.ImportMessage
+	1,   // 16: hybrid.goproto.proto.testeditions.TestAllTypes.repeated_nested_enum:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum
+	0,   // 17: hybrid.goproto.proto.testeditions.TestAllTypes.repeated_foreign_enum:type_name -> hybrid.goproto.proto.testeditions.ForeignEnum
+	36,  // 18: hybrid.goproto.proto.testeditions.TestAllTypes.repeated_importenum:type_name -> hybrid.goproto.proto.testeditions.ImportEnum
+	15,  // 19: hybrid.goproto.proto.testeditions.TestAllTypes.map_int32_int32:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapInt32Int32Entry
+	16,  // 20: hybrid.goproto.proto.testeditions.TestAllTypes.map_int64_int64:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapInt64Int64Entry
+	17,  // 21: hybrid.goproto.proto.testeditions.TestAllTypes.map_uint32_uint32:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapUint32Uint32Entry
+	18,  // 22: hybrid.goproto.proto.testeditions.TestAllTypes.map_uint64_uint64:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapUint64Uint64Entry
+	19,  // 23: hybrid.goproto.proto.testeditions.TestAllTypes.map_sint32_sint32:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapSint32Sint32Entry
+	20,  // 24: hybrid.goproto.proto.testeditions.TestAllTypes.map_sint64_sint64:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapSint64Sint64Entry
+	21,  // 25: hybrid.goproto.proto.testeditions.TestAllTypes.map_fixed32_fixed32:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapFixed32Fixed32Entry
+	22,  // 26: hybrid.goproto.proto.testeditions.TestAllTypes.map_fixed64_fixed64:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapFixed64Fixed64Entry
+	23,  // 27: hybrid.goproto.proto.testeditions.TestAllTypes.map_sfixed32_sfixed32:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapSfixed32Sfixed32Entry
+	24,  // 28: hybrid.goproto.proto.testeditions.TestAllTypes.map_sfixed64_sfixed64:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapSfixed64Sfixed64Entry
+	25,  // 29: hybrid.goproto.proto.testeditions.TestAllTypes.map_int32_float:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapInt32FloatEntry
+	26,  // 30: hybrid.goproto.proto.testeditions.TestAllTypes.map_int32_double:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapInt32DoubleEntry
+	27,  // 31: hybrid.goproto.proto.testeditions.TestAllTypes.map_bool_bool:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapBoolBoolEntry
+	28,  // 32: hybrid.goproto.proto.testeditions.TestAllTypes.map_string_string:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapStringStringEntry
+	29,  // 33: hybrid.goproto.proto.testeditions.TestAllTypes.map_string_bytes:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapStringBytesEntry
+	30,  // 34: hybrid.goproto.proto.testeditions.TestAllTypes.map_string_nested_message:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapStringNestedMessageEntry
+	31,  // 35: hybrid.goproto.proto.testeditions.TestAllTypes.map_string_nested_enum:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.MapStringNestedEnumEntry
+	1,   // 36: hybrid.goproto.proto.testeditions.TestAllTypes.default_nested_enum:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum
+	0,   // 37: hybrid.goproto.proto.testeditions.TestAllTypes.default_foreign_enum:type_name -> hybrid.goproto.proto.testeditions.ForeignEnum
+	12,  // 38: hybrid.goproto.proto.testeditions.TestAllTypes.oneof_nested_message:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedMessage
+	1,   // 39: hybrid.goproto.proto.testeditions.TestAllTypes.oneof_enum:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum
+	32,  // 40: hybrid.goproto.proto.testeditions.TestAllTypes.oneofgroup:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.OneofGroup
+	2,   // 41: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f1:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 42: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f2:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 43: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f3:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 44: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f4:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 45: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f5:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 46: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f6:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 47: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f7:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 48: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f8:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 49: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f9:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 50: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f10:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 51: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f11:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 52: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f12:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 53: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f13:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 54: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f14:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 55: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f15:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 56: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f16:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 57: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f17:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 58: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f18:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 59: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f19:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 60: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f20:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 61: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f21:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 62: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f22:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 63: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f23:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 64: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f24:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 65: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f25:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 66: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f26:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 67: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f27:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 68: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f28:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 69: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f29:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 70: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f30:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 71: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f31:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 72: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f32:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 73: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f33:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 74: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f34:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 75: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f35:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 76: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f36:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 77: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f37:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 78: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f38:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 79: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f39:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 80: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f40:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 81: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f41:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 82: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f42:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 83: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f43:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 84: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f44:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 85: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f45:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 86: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f46:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 87: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f47:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 88: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f48:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 89: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f49:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 90: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f50:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 91: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f51:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 92: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f52:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 93: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f53:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 94: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f54:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 95: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f55:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 96: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f56:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 97: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f57:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 98: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f58:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 99: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f59:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 100: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f60:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 101: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f61:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 102: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f62:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 103: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f63:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 104: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f64:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 105: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f65:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 106: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f66:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 107: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f67:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 108: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f68:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 109: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f69:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 110: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f70:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 111: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f71:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 112: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f72:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 113: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f73:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 114: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f74:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 115: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f75:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 116: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f76:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 117: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f77:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 118: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f78:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 119: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f79:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 120: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f80:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 121: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f81:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 122: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f82:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 123: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f83:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 124: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f84:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 125: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f85:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 126: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f86:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 127: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f87:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 128: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f88:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 129: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f89:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 130: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f90:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 131: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f91:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 132: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f92:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 133: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f93:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 134: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f94:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 135: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f95:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 136: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f96:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 137: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f97:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 138: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f98:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 139: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f99:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	2,   // 140: hybrid.goproto.proto.testeditions.TestManyMessageFieldsMessage.f100:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	5,   // 141: hybrid.goproto.proto.testeditions.TestRequiredForeign.optional_message:type_name -> hybrid.goproto.proto.testeditions.TestRequired
+	5,   // 142: hybrid.goproto.proto.testeditions.TestRequiredForeign.repeated_message:type_name -> hybrid.goproto.proto.testeditions.TestRequired
+	33,  // 143: hybrid.goproto.proto.testeditions.TestRequiredForeign.map_message:type_name -> hybrid.goproto.proto.testeditions.TestRequiredForeign.MapMessageEntry
+	5,   // 144: hybrid.goproto.proto.testeditions.TestRequiredForeign.oneof_message:type_name -> hybrid.goproto.proto.testeditions.TestRequired
+	34,  // 145: hybrid.goproto.proto.testeditions.TestRequiredGroupFields.optionalgroup:type_name -> hybrid.goproto.proto.testeditions.TestRequiredGroupFields.OptionalGroup
+	35,  // 146: hybrid.goproto.proto.testeditions.TestRequiredGroupFields.repeatedgroup:type_name -> hybrid.goproto.proto.testeditions.TestRequiredGroupFields.RepeatedGroup
+	5,   // 147: hybrid.goproto.proto.testeditions.TestRequiredLazy.optional_lazy_message:type_name -> hybrid.goproto.proto.testeditions.TestRequired
+	0,   // 148: hybrid.goproto.proto.testeditions.TestPackedTypes.packed_enum:type_name -> hybrid.goproto.proto.testeditions.ForeignEnum
+	38,  // 149: hybrid.goproto.proto.testeditions.RemoteDefault.default:type_name -> hybrid.goproto.proto.enums.Enum
+	38,  // 150: hybrid.goproto.proto.testeditions.RemoteDefault.zero:type_name -> hybrid.goproto.proto.enums.Enum
+	38,  // 151: hybrid.goproto.proto.testeditions.RemoteDefault.one:type_name -> hybrid.goproto.proto.enums.Enum
+	38,  // 152: hybrid.goproto.proto.testeditions.RemoteDefault.elevent:type_name -> hybrid.goproto.proto.enums.Enum
+	38,  // 153: hybrid.goproto.proto.testeditions.RemoteDefault.seventeen:type_name -> hybrid.goproto.proto.enums.Enum
+	38,  // 154: hybrid.goproto.proto.testeditions.RemoteDefault.thirtyseven:type_name -> hybrid.goproto.proto.enums.Enum
+	38,  // 155: hybrid.goproto.proto.testeditions.RemoteDefault.sixtyseven:type_name -> hybrid.goproto.proto.enums.Enum
+	38,  // 156: hybrid.goproto.proto.testeditions.RemoteDefault.negative:type_name -> hybrid.goproto.proto.enums.Enum
+	2,   // 157: hybrid.goproto.proto.testeditions.TestAllTypes.NestedMessage.corecursive:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes
+	12,  // 158: hybrid.goproto.proto.testeditions.TestAllTypes.OptionalGroup.optional_nested_message:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedMessage
+	12,  // 159: hybrid.goproto.proto.testeditions.TestAllTypes.RepeatedGroup.optional_nested_message:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedMessage
+	12,  // 160: hybrid.goproto.proto.testeditions.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedMessage
+	1,   // 161: hybrid.goproto.proto.testeditions.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum
+	5,   // 162: hybrid.goproto.proto.testeditions.TestRequiredForeign.MapMessageEntry.value:type_name -> hybrid.goproto.proto.testeditions.TestRequired
+	10,  // 163: hybrid.goproto.proto.testeditions.packed_int32:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 164: hybrid.goproto.proto.testeditions.packed_int64:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 165: hybrid.goproto.proto.testeditions.packed_uint32:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 166: hybrid.goproto.proto.testeditions.packed_uint64:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 167: hybrid.goproto.proto.testeditions.packed_sint32:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 168: hybrid.goproto.proto.testeditions.packed_sint64:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 169: hybrid.goproto.proto.testeditions.packed_fixed32:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 170: hybrid.goproto.proto.testeditions.packed_fixed64:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 171: hybrid.goproto.proto.testeditions.packed_sfixed32:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 172: hybrid.goproto.proto.testeditions.packed_sfixed64:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 173: hybrid.goproto.proto.testeditions.packed_float:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 174: hybrid.goproto.proto.testeditions.packed_double:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 175: hybrid.goproto.proto.testeditions.packed_bool:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	10,  // 176: hybrid.goproto.proto.testeditions.packed_enum:extendee -> hybrid.goproto.proto.testeditions.TestPackedExtensions
+	0,   // 177: hybrid.goproto.proto.testeditions.packed_enum:type_name -> hybrid.goproto.proto.testeditions.ForeignEnum
+	178, // [178:178] is the sub-list for method output_type
+	178, // [178:178] is the sub-list for method input_type
+	177, // [177:178] is the sub-list for extension type_name
+	163, // [163:177] is the sub-list for extension extendee
+	0,   // [0:163] is the sub-list for field type_name
+}
+
+func init() { file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_init() }
+func file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_init() {
+	if File_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto != nil {
+		return
+	}
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_init()
+	file_internal_testprotos_testeditions_testeditions_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),
+		(*testAllTypes_Oneofgroup)(nil),
+		(*testAllTypes_OneofOptionalUint32)(nil),
+	}
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes[4].OneofWrappers = []any{
+		(*testRequiredForeign_OneofMessage)(nil),
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_rawDesc,
+			NumEnums:      2,
+			NumMessages:   34,
+			NumExtensions: 14,
+			NumServices:   0,
+		},
+		GoTypes:           file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_goTypes,
+		DependencyIndexes: file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_depIdxs,
+		EnumInfos:         file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_enumTypes,
+		MessageInfos:      file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_msgTypes,
+		ExtensionInfos:    file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_extTypes,
+	}.Build()
+	File_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto = out.File
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_rawDesc = nil
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_goTypes = nil
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.pb.go b/internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.pb.go
index 9d7ab6f..49b8768 100644
--- a/internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.pb.go
+++ b/internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.pb.go
@@ -5,6 +5,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto
 
+//go:build !protoopaque
+
 package testeditions_hybrid
 
 import (
diff --git a/internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid_protoopaque.pb.go b/internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..7d0d8e8
--- /dev/null
+++ b/internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid_protoopaque.pb.go
@@ -0,0 +1,1617 @@
+// Copyright 2024 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/testeditions/testeditions_hybrid/test_extension.hybrid.proto
+
+//go:build protoopaque
+
+package testeditions_hybrid
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	reflect "reflect"
+)
+
+type TestAllExtensions struct {
+	state           protoimpl.MessageState `protogen:"opaque.v1"`
+	extensionFields protoimpl.ExtensionFields
+	unknownFields   protoimpl.UnknownFields
+	sizeCache       protoimpl.SizeCache
+}
+
+func (x *TestAllExtensions) Reset() {
+	*x = TestAllExtensions{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestAllExtensions) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestAllExtensions) ProtoMessage() {}
+
+func (x *TestAllExtensions) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_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 TestAllExtensions_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 TestAllExtensions_builder) Build() *TestAllExtensions {
+	m0 := &TestAllExtensions{}
+	b, x := &b0, m0
+	_, _ = b, x
+	return m0
+}
+
+type OptionalGroup struct {
+	state                            protoimpl.MessageState           `protogen:"opaque.v1"`
+	xxx_hidden_A                     int32                            `protobuf:"varint,17,opt,name=a" json:"a,omitempty"`
+	xxx_hidden_SameFieldNumber       int32                            `protobuf:"varint,16,opt,name=same_field_number,json=sameFieldNumber" json:"same_field_number,omitempty"`
+	xxx_hidden_OptionalNestedMessage *TestAllExtensions_NestedMessage `protobuf:"bytes,1000,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"`
+	XXX_raceDetectHookData           protoimpl.RaceDetectHookData
+	XXX_presence                     [1]uint32
+	unknownFields                    protoimpl.UnknownFields
+	sizeCache                        protoimpl.SizeCache
+}
+
+func (x *OptionalGroup) Reset() {
+	*x = OptionalGroup{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *OptionalGroup) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OptionalGroup) ProtoMessage() {}
+
+func (x *OptionalGroup) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_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 *OptionalGroup) GetA() int32 {
+	if x != nil {
+		return x.xxx_hidden_A
+	}
+	return 0
+}
+
+func (x *OptionalGroup) GetSameFieldNumber() int32 {
+	if x != nil {
+		return x.xxx_hidden_SameFieldNumber
+	}
+	return 0
+}
+
+func (x *OptionalGroup) GetOptionalNestedMessage() *TestAllExtensions_NestedMessage {
+	if x != nil {
+		return x.xxx_hidden_OptionalNestedMessage
+	}
+	return nil
+}
+
+func (x *OptionalGroup) SetA(v int32) {
+	x.xxx_hidden_A = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3)
+}
+
+func (x *OptionalGroup) SetSameFieldNumber(v int32) {
+	x.xxx_hidden_SameFieldNumber = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3)
+}
+
+func (x *OptionalGroup) SetOptionalNestedMessage(v *TestAllExtensions_NestedMessage) {
+	x.xxx_hidden_OptionalNestedMessage = v
+}
+
+func (x *OptionalGroup) HasA() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *OptionalGroup) HasSameFieldNumber() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *OptionalGroup) HasOptionalNestedMessage() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptionalNestedMessage != nil
+}
+
+func (x *OptionalGroup) ClearA() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_A = 0
+}
+
+func (x *OptionalGroup) ClearSameFieldNumber() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_SameFieldNumber = 0
+}
+
+func (x *OptionalGroup) ClearOptionalNestedMessage() {
+	x.xxx_hidden_OptionalNestedMessage = nil
+}
+
+type OptionalGroup_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	A                     *int32
+	SameFieldNumber       *int32
+	OptionalNestedMessage *TestAllExtensions_NestedMessage
+}
+
+func (b0 OptionalGroup_builder) Build() *OptionalGroup {
+	m0 := &OptionalGroup{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.A != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3)
+		x.xxx_hidden_A = *b.A
+	}
+	if b.SameFieldNumber != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3)
+		x.xxx_hidden_SameFieldNumber = *b.SameFieldNumber
+	}
+	x.xxx_hidden_OptionalNestedMessage = b.OptionalNestedMessage
+	return m0
+}
+
+type RepeatedGroup struct {
+	state                            protoimpl.MessageState           `protogen:"opaque.v1"`
+	xxx_hidden_A                     int32                            `protobuf:"varint,47,opt,name=a" json:"a,omitempty"`
+	xxx_hidden_OptionalNestedMessage *TestAllExtensions_NestedMessage `protobuf:"bytes,1001,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"`
+	XXX_raceDetectHookData           protoimpl.RaceDetectHookData
+	XXX_presence                     [1]uint32
+	unknownFields                    protoimpl.UnknownFields
+	sizeCache                        protoimpl.SizeCache
+}
+
+func (x *RepeatedGroup) Reset() {
+	*x = RepeatedGroup{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *RepeatedGroup) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RepeatedGroup) ProtoMessage() {}
+
+func (x *RepeatedGroup) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_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 *RepeatedGroup) GetA() int32 {
+	if x != nil {
+		return x.xxx_hidden_A
+	}
+	return 0
+}
+
+func (x *RepeatedGroup) GetOptionalNestedMessage() *TestAllExtensions_NestedMessage {
+	if x != nil {
+		return x.xxx_hidden_OptionalNestedMessage
+	}
+	return nil
+}
+
+func (x *RepeatedGroup) SetA(v int32) {
+	x.xxx_hidden_A = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *RepeatedGroup) SetOptionalNestedMessage(v *TestAllExtensions_NestedMessage) {
+	x.xxx_hidden_OptionalNestedMessage = v
+}
+
+func (x *RepeatedGroup) HasA() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *RepeatedGroup) HasOptionalNestedMessage() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptionalNestedMessage != nil
+}
+
+func (x *RepeatedGroup) ClearA() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_A = 0
+}
+
+func (x *RepeatedGroup) ClearOptionalNestedMessage() {
+	x.xxx_hidden_OptionalNestedMessage = nil
+}
+
+type RepeatedGroup_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	A                     *int32
+	OptionalNestedMessage *TestAllExtensions_NestedMessage
+}
+
+func (b0 RepeatedGroup_builder) Build() *RepeatedGroup {
+	m0 := &RepeatedGroup{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.A != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_A = *b.A
+	}
+	x.xxx_hidden_OptionalNestedMessage = b.OptionalNestedMessage
+	return m0
+}
+
+type TestFeatureResolution struct {
+	state           protoimpl.MessageState `protogen:"opaque.v1"`
+	extensionFields protoimpl.ExtensionFields
+	unknownFields   protoimpl.UnknownFields
+	sizeCache       protoimpl.SizeCache
+}
+
+func (x *TestFeatureResolution) Reset() {
+	*x = TestFeatureResolution{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestFeatureResolution) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestFeatureResolution) ProtoMessage() {}
+
+func (x *TestFeatureResolution) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_msgTypes[3]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+type TestFeatureResolution_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 TestFeatureResolution_builder) Build() *TestFeatureResolution {
+	m0 := &TestFeatureResolution{}
+	b, x := &b0, m0
+	_, _ = b, x
+	return m0
+}
+
+type RepeatedFieldEncoding struct {
+	state         protoimpl.MessageState `protogen:"opaque.v1"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *RepeatedFieldEncoding) Reset() {
+	*x = RepeatedFieldEncoding{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *RepeatedFieldEncoding) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RepeatedFieldEncoding) ProtoMessage() {}
+
+func (x *RepeatedFieldEncoding) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_msgTypes[4]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+type RepeatedFieldEncoding_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 RepeatedFieldEncoding_builder) Build() *RepeatedFieldEncoding {
+	m0 := &RepeatedFieldEncoding{}
+	b, x := &b0, m0
+	_, _ = b, x
+	return m0
+}
+
+type TestAllExtensions_NestedMessage struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_A           int32                  `protobuf:"varint,1,opt,name=a" json:"a,omitempty"`
+	xxx_hidden_Corecursive *TestAllExtensions     `protobuf:"bytes,2,opt,name=corecursive" json:"corecursive,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *TestAllExtensions_NestedMessage) Reset() {
+	*x = TestAllExtensions_NestedMessage{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TestAllExtensions_NestedMessage) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TestAllExtensions_NestedMessage) ProtoMessage() {}
+
+func (x *TestAllExtensions_NestedMessage) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_msgTypes[5]
+	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 *TestAllExtensions_NestedMessage) GetA() int32 {
+	if x != nil {
+		return x.xxx_hidden_A
+	}
+	return 0
+}
+
+func (x *TestAllExtensions_NestedMessage) GetCorecursive() *TestAllExtensions {
+	if x != nil {
+		return x.xxx_hidden_Corecursive
+	}
+	return nil
+}
+
+func (x *TestAllExtensions_NestedMessage) SetA(v int32) {
+	x.xxx_hidden_A = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *TestAllExtensions_NestedMessage) SetCorecursive(v *TestAllExtensions) {
+	x.xxx_hidden_Corecursive = v
+}
+
+func (x *TestAllExtensions_NestedMessage) HasA() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *TestAllExtensions_NestedMessage) HasCorecursive() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Corecursive != nil
+}
+
+func (x *TestAllExtensions_NestedMessage) ClearA() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_A = 0
+}
+
+func (x *TestAllExtensions_NestedMessage) ClearCorecursive() {
+	x.xxx_hidden_Corecursive = nil
+}
+
+type TestAllExtensions_NestedMessage_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	A           *int32
+	Corecursive *TestAllExtensions
+}
+
+func (b0 TestAllExtensions_NestedMessage_builder) Build() *TestAllExtensions_NestedMessage {
+	m0 := &TestAllExtensions_NestedMessage{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.A != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_A = *b.A
+	}
+	x.xxx_hidden_Corecursive = b.Corecursive
+	return m0
+}
+
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes = []protoimpl.ExtensionInfo{
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int32)(nil),
+		Field:         1,
+		Name:          "hybrid.goproto.proto.testeditions.optional_int32",
+		Tag:           "varint,1,opt,name=optional_int32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int64)(nil),
+		Field:         2,
+		Name:          "hybrid.goproto.proto.testeditions.optional_int64",
+		Tag:           "varint,2,opt,name=optional_int64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*uint32)(nil),
+		Field:         3,
+		Name:          "hybrid.goproto.proto.testeditions.optional_uint32",
+		Tag:           "varint,3,opt,name=optional_uint32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*uint64)(nil),
+		Field:         4,
+		Name:          "hybrid.goproto.proto.testeditions.optional_uint64",
+		Tag:           "varint,4,opt,name=optional_uint64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int32)(nil),
+		Field:         5,
+		Name:          "hybrid.goproto.proto.testeditions.optional_sint32",
+		Tag:           "zigzag32,5,opt,name=optional_sint32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int64)(nil),
+		Field:         6,
+		Name:          "hybrid.goproto.proto.testeditions.optional_sint64",
+		Tag:           "zigzag64,6,opt,name=optional_sint64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*uint32)(nil),
+		Field:         7,
+		Name:          "hybrid.goproto.proto.testeditions.optional_fixed32",
+		Tag:           "fixed32,7,opt,name=optional_fixed32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*uint64)(nil),
+		Field:         8,
+		Name:          "hybrid.goproto.proto.testeditions.optional_fixed64",
+		Tag:           "fixed64,8,opt,name=optional_fixed64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int32)(nil),
+		Field:         9,
+		Name:          "hybrid.goproto.proto.testeditions.optional_sfixed32",
+		Tag:           "fixed32,9,opt,name=optional_sfixed32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int64)(nil),
+		Field:         10,
+		Name:          "hybrid.goproto.proto.testeditions.optional_sfixed64",
+		Tag:           "fixed64,10,opt,name=optional_sfixed64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*float32)(nil),
+		Field:         11,
+		Name:          "hybrid.goproto.proto.testeditions.optional_float",
+		Tag:           "fixed32,11,opt,name=optional_float",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*float64)(nil),
+		Field:         12,
+		Name:          "hybrid.goproto.proto.testeditions.optional_double",
+		Tag:           "fixed64,12,opt,name=optional_double",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*bool)(nil),
+		Field:         13,
+		Name:          "hybrid.goproto.proto.testeditions.optional_bool",
+		Tag:           "varint,13,opt,name=optional_bool",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*string)(nil),
+		Field:         14,
+		Name:          "hybrid.goproto.proto.testeditions.optional_string",
+		Tag:           "bytes,14,opt,name=optional_string",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]byte)(nil),
+		Field:         15,
+		Name:          "hybrid.goproto.proto.testeditions.optional_bytes",
+		Tag:           "bytes,15,opt,name=optional_bytes",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*OptionalGroup)(nil),
+		Field:         16,
+		Name:          "hybrid.goproto.proto.testeditions.optionalgroup",
+		Tag:           "group,16,opt,name=OptionalGroup",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*TestAllExtensions_NestedMessage)(nil),
+		Field:         18,
+		Name:          "hybrid.goproto.proto.testeditions.optional_nested_message",
+		Tag:           "bytes,18,opt,name=optional_nested_message",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*TestAllTypes_NestedEnum)(nil),
+		Field:         21,
+		Name:          "hybrid.goproto.proto.testeditions.optional_nested_enum",
+		Tag:           "varint,21,opt,name=optional_nested_enum,enum=hybrid.goproto.proto.testeditions.TestAllTypes_NestedEnum",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         31,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_int32",
+		Tag:           "varint,31,rep,name=repeated_int32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]int64)(nil),
+		Field:         32,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_int64",
+		Tag:           "varint,32,rep,name=repeated_int64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]uint32)(nil),
+		Field:         33,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_uint32",
+		Tag:           "varint,33,rep,name=repeated_uint32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]uint64)(nil),
+		Field:         34,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_uint64",
+		Tag:           "varint,34,rep,name=repeated_uint64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         35,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_sint32",
+		Tag:           "zigzag32,35,rep,name=repeated_sint32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]int64)(nil),
+		Field:         36,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_sint64",
+		Tag:           "zigzag64,36,rep,name=repeated_sint64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]uint32)(nil),
+		Field:         37,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_fixed32",
+		Tag:           "fixed32,37,rep,name=repeated_fixed32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]uint64)(nil),
+		Field:         38,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_fixed64",
+		Tag:           "fixed64,38,rep,name=repeated_fixed64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         39,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_sfixed32",
+		Tag:           "fixed32,39,rep,name=repeated_sfixed32",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]int64)(nil),
+		Field:         40,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_sfixed64",
+		Tag:           "fixed64,40,rep,name=repeated_sfixed64",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]float32)(nil),
+		Field:         41,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_float",
+		Tag:           "fixed32,41,rep,name=repeated_float",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]float64)(nil),
+		Field:         42,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_double",
+		Tag:           "fixed64,42,rep,name=repeated_double",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]bool)(nil),
+		Field:         43,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_bool",
+		Tag:           "varint,43,rep,name=repeated_bool",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]string)(nil),
+		Field:         44,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_string",
+		Tag:           "bytes,44,rep,name=repeated_string",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([][]byte)(nil),
+		Field:         45,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_bytes",
+		Tag:           "bytes,45,rep,name=repeated_bytes",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]*RepeatedGroup)(nil),
+		Field:         46,
+		Name:          "hybrid.goproto.proto.testeditions.repeatedgroup",
+		Tag:           "group,46,rep,name=RepeatedGroup",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]*TestAllExtensions_NestedMessage)(nil),
+		Field:         48,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_nested_message",
+		Tag:           "bytes,48,rep,name=repeated_nested_message",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]TestAllTypes_NestedEnum)(nil),
+		Field:         51,
+		Name:          "hybrid.goproto.proto.testeditions.repeated_nested_enum",
+		Tag:           "varint,51,rep,name=repeated_nested_enum,enum=hybrid.goproto.proto.testeditions.TestAllTypes_NestedEnum",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int32)(nil),
+		Field:         81,
+		Name:          "hybrid.goproto.proto.testeditions.default_int32",
+		Tag:           "varint,81,opt,name=default_int32,def=81",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int64)(nil),
+		Field:         82,
+		Name:          "hybrid.goproto.proto.testeditions.default_int64",
+		Tag:           "varint,82,opt,name=default_int64,def=82",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*uint32)(nil),
+		Field:         83,
+		Name:          "hybrid.goproto.proto.testeditions.default_uint32",
+		Tag:           "varint,83,opt,name=default_uint32,def=83",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*uint64)(nil),
+		Field:         84,
+		Name:          "hybrid.goproto.proto.testeditions.default_uint64",
+		Tag:           "varint,84,opt,name=default_uint64,def=84",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int32)(nil),
+		Field:         85,
+		Name:          "hybrid.goproto.proto.testeditions.default_sint32",
+		Tag:           "zigzag32,85,opt,name=default_sint32,def=-85",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int64)(nil),
+		Field:         86,
+		Name:          "hybrid.goproto.proto.testeditions.default_sint64",
+		Tag:           "zigzag64,86,opt,name=default_sint64,def=86",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*uint32)(nil),
+		Field:         87,
+		Name:          "hybrid.goproto.proto.testeditions.default_fixed32",
+		Tag:           "fixed32,87,opt,name=default_fixed32,def=87",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*uint64)(nil),
+		Field:         88,
+		Name:          "hybrid.goproto.proto.testeditions.default_fixed64",
+		Tag:           "fixed64,88,opt,name=default_fixed64,def=88",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int32)(nil),
+		Field:         89,
+		Name:          "hybrid.goproto.proto.testeditions.default_sfixed32",
+		Tag:           "fixed32,89,opt,name=default_sfixed32,def=89",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*int64)(nil),
+		Field:         80,
+		Name:          "hybrid.goproto.proto.testeditions.default_sfixed64",
+		Tag:           "fixed64,80,opt,name=default_sfixed64,def=-90",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*float32)(nil),
+		Field:         91,
+		Name:          "hybrid.goproto.proto.testeditions.default_float",
+		Tag:           "fixed32,91,opt,name=default_float,def=91.5",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*float64)(nil),
+		Field:         92,
+		Name:          "hybrid.goproto.proto.testeditions.default_double",
+		Tag:           "fixed64,92,opt,name=default_double,def=92000",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*bool)(nil),
+		Field:         93,
+		Name:          "hybrid.goproto.proto.testeditions.default_bool",
+		Tag:           "varint,93,opt,name=default_bool,def=1",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*string)(nil),
+		Field:         94,
+		Name:          "hybrid.goproto.proto.testeditions.default_string",
+		Tag:           "bytes,94,opt,name=default_string,def=hello",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]byte)(nil),
+		Field:         95,
+		Name:          "hybrid.goproto.proto.testeditions.default_bytes",
+		Tag:           "bytes,95,opt,name=default_bytes,def=world",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: (*TestRequired)(nil),
+		Field:         1000,
+		Name:          "hybrid.goproto.proto.testeditions.single",
+		Tag:           "bytes,1000,opt,name=single",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestAllExtensions)(nil),
+		ExtensionType: ([]*TestRequired)(nil),
+		Field:         1001,
+		Name:          "hybrid.goproto.proto.testeditions.multi",
+		Tag:           "bytes,1001,rep,name=multi",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestFeatureResolution)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         2,
+		Name:          "hybrid.goproto.proto.testeditions.global_expanded_extension",
+		Tag:           "varint,2,rep,name=global_expanded_extension",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestFeatureResolution)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         3,
+		Name:          "hybrid.goproto.proto.testeditions.global_packed_extension_overriden",
+		Tag:           "varint,3,rep,packed,name=global_packed_extension_overriden",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestFeatureResolution)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         4,
+		Name:          "hybrid.goproto.proto.testeditions.RepeatedFieldEncoding.message_expanded_extension",
+		Tag:           "varint,4,rep,name=message_expanded_extension",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestFeatureResolution)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         5,
+		Name:          "hybrid.goproto.proto.testeditions.RepeatedFieldEncoding.message_packed_extension_overriden",
+		Tag:           "varint,5,rep,packed,name=message_packed_extension_overriden",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension.hybrid.proto",
+	},
+}
+
+// Extension fields to TestAllExtensions.
+var (
+	// optional int32 optional_int32 = 1;
+	E_OptionalInt32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[0]
+	// optional int64 optional_int64 = 2;
+	E_OptionalInt64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[1]
+	// optional uint32 optional_uint32 = 3;
+	E_OptionalUint32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[2]
+	// optional uint64 optional_uint64 = 4;
+	E_OptionalUint64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[3]
+	// optional sint32 optional_sint32 = 5;
+	E_OptionalSint32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[4]
+	// optional sint64 optional_sint64 = 6;
+	E_OptionalSint64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[5]
+	// optional fixed32 optional_fixed32 = 7;
+	E_OptionalFixed32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[6]
+	// optional fixed64 optional_fixed64 = 8;
+	E_OptionalFixed64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[7]
+	// optional sfixed32 optional_sfixed32 = 9;
+	E_OptionalSfixed32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[8]
+	// optional sfixed64 optional_sfixed64 = 10;
+	E_OptionalSfixed64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[9]
+	// optional float optional_float = 11;
+	E_OptionalFloat = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[10]
+	// optional double optional_double = 12;
+	E_OptionalDouble = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[11]
+	// optional bool optional_bool = 13;
+	E_OptionalBool = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[12]
+	// optional string optional_string = 14;
+	E_OptionalString = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[13]
+	// optional bytes optional_bytes = 15;
+	E_OptionalBytes = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[14]
+	// optional hybrid.goproto.proto.testeditions.OptionalGroup optionalgroup = 16;
+	E_Optionalgroup = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[15]
+	// optional hybrid.goproto.proto.testeditions.TestAllExtensions.NestedMessage optional_nested_message = 18;
+	E_OptionalNestedMessage = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[16]
+	// optional hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum optional_nested_enum = 21;
+	E_OptionalNestedEnum = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[17]
+	// repeated int32 repeated_int32 = 31;
+	E_RepeatedInt32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[18]
+	// repeated int64 repeated_int64 = 32;
+	E_RepeatedInt64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[19]
+	// repeated uint32 repeated_uint32 = 33;
+	E_RepeatedUint32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[20]
+	// repeated uint64 repeated_uint64 = 34;
+	E_RepeatedUint64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[21]
+	// repeated sint32 repeated_sint32 = 35;
+	E_RepeatedSint32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[22]
+	// repeated sint64 repeated_sint64 = 36;
+	E_RepeatedSint64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[23]
+	// repeated fixed32 repeated_fixed32 = 37;
+	E_RepeatedFixed32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[24]
+	// repeated fixed64 repeated_fixed64 = 38;
+	E_RepeatedFixed64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[25]
+	// repeated sfixed32 repeated_sfixed32 = 39;
+	E_RepeatedSfixed32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[26]
+	// repeated sfixed64 repeated_sfixed64 = 40;
+	E_RepeatedSfixed64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[27]
+	// repeated float repeated_float = 41;
+	E_RepeatedFloat = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[28]
+	// repeated double repeated_double = 42;
+	E_RepeatedDouble = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[29]
+	// repeated bool repeated_bool = 43;
+	E_RepeatedBool = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[30]
+	// repeated string repeated_string = 44;
+	E_RepeatedString = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[31]
+	// repeated bytes repeated_bytes = 45;
+	E_RepeatedBytes = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[32]
+	// repeated hybrid.goproto.proto.testeditions.RepeatedGroup repeatedgroup = 46;
+	E_Repeatedgroup = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[33]
+	// repeated hybrid.goproto.proto.testeditions.TestAllExtensions.NestedMessage repeated_nested_message = 48;
+	E_RepeatedNestedMessage = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[34]
+	// repeated hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum repeated_nested_enum = 51;
+	E_RepeatedNestedEnum = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[35]
+	// optional int32 default_int32 = 81;
+	E_DefaultInt32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[36]
+	// optional int64 default_int64 = 82;
+	E_DefaultInt64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[37]
+	// optional uint32 default_uint32 = 83;
+	E_DefaultUint32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[38]
+	// optional uint64 default_uint64 = 84;
+	E_DefaultUint64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[39]
+	// optional sint32 default_sint32 = 85;
+	E_DefaultSint32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[40]
+	// optional sint64 default_sint64 = 86;
+	E_DefaultSint64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[41]
+	// optional fixed32 default_fixed32 = 87;
+	E_DefaultFixed32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[42]
+	// optional fixed64 default_fixed64 = 88;
+	E_DefaultFixed64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[43]
+	// optional sfixed32 default_sfixed32 = 89;
+	E_DefaultSfixed32 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[44]
+	// optional sfixed64 default_sfixed64 = 80;
+	E_DefaultSfixed64 = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[45]
+	// optional float default_float = 91;
+	E_DefaultFloat = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[46]
+	// optional double default_double = 92;
+	E_DefaultDouble = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[47]
+	// optional bool default_bool = 93;
+	E_DefaultBool = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[48]
+	// optional string default_string = 94;
+	E_DefaultString = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[49]
+	// optional bytes default_bytes = 95;
+	E_DefaultBytes = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[50]
+	// optional hybrid.goproto.proto.testeditions.TestRequired single = 1000;
+	E_Single = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[51]
+	// repeated hybrid.goproto.proto.testeditions.TestRequired multi = 1001;
+	E_Multi = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[52]
+)
+
+// Extension fields to TestFeatureResolution.
+var (
+	// repeated int32 global_expanded_extension = 2;
+	E_GlobalExpandedExtension = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[53]
+	// repeated int32 global_packed_extension_overriden = 3;
+	E_GlobalPackedExtensionOverriden = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[54]
+	// repeated int32 message_expanded_extension = 4;
+	E_RepeatedFieldEncoding_MessageExpandedExtension = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[55]
+	// repeated int32 message_packed_extension_overriden = 5;
+	E_RepeatedFieldEncoding_MessagePackedExtensionOverriden = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes[56]
+)
+
+var File_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_rawDesc = []byte{
+	0x0a, 0x50, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x12, 0x21, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x46, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f,
+	0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 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, 0x1a, 0x21, 0x67,
+	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67,
+	0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x22, 0x94, 0x01, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x75, 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, 0x56, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72,
+	0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+	0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x2a, 0x08, 0x08,
+	0x01, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0xc6, 0x01, 0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69,
+	0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x11,
+	0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x61, 0x6d, 0x65, 0x5f,
+	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01,
+	0x28, 0x05, 0x52, 0x0f, 0x73, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d,
+	0x62, 0x65, 0x72, 0x12, 0x7b, 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, 0xe8,
+	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+	0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74,
+	0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+	0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+	0x22, 0x9a, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f,
+	0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61,
+	0x12, 0x7b, 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, 0xe9, 0x07, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x42, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
+	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d,
+	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x21, 0x0a,
+	0x15, 0x54, 0x65, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f,
+	0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x08, 0x08, 0x02, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02,
+	0x22, 0x9e, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65,
+	0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x76, 0x0a, 0x1a, 0x6d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x65,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69,
+	0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x18, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+	0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+	0x6f, 0x6e, 0x32, 0x8c, 0x01, 0x0a, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x70,
+	0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
+	0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x6e, 0x12, 0x38, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74,
+	0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01,
+	0x52, 0x1f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
+	0x6e, 0x3a, 0x5b, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e,
+	0x74, 0x33, 0x32, 0x12, 0x34, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
+	0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x5b,
+	0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34,
+	0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70,
+	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x5d, 0x0a, 0x0f, 0x6f,
+	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x34,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69,
+	0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x5d, 0x0a, 0x0f, 0x6f, 0x70,
+	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+	0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+	0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x5d, 0x0a, 0x0f, 0x6f, 0x70, 0x74,
+	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+	0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x5d, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69,
+	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+	0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+	0x6c, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x5f, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+	0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+	0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+	0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x5f, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69,
+	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+	0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x61, 0x0a, 0x11, 0x6f, 0x70, 0x74,
+	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x34,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69,
+	0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x61, 0x0a, 0x11,
+	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
+	0x34, 0x12, 0x34, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x10, 0x6f,
+	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a,
+	0x5b, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61,
+	0x74, 0x12, 0x34, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6f,
+	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x5d, 0x0a, 0x0f,
+	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12,
+	0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e,
+	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x6f, 0x70, 0x74,
+	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x3a, 0x59, 0x0a, 0x0d, 0x6f,
+	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+	0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x3a, 0x5d, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+	0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53,
+	0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x5b, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+	0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
+	0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20,
+	0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x79, 0x74,
+	0x65, 0x73, 0x3a, 0x93, 0x01, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67,
+	0x72, 0x6f, 0x75, 0x70, 0x12, 0x34, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x30, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f,
+	0x75, 0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+	0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3a, 0xb0, 0x01, 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, 0x12, 0x34, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x42, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73,
+	0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65,
+	0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0xa2, 0x01, 0x0a, 0x14,
+	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,
+	0x65, 0x6e, 0x75, 0x6d, 0x12, 0x34, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e,
+	0x32, 0x3a, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 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, 0x6f, 0x70,
+	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d,
+	0x3a, 0x5b, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74,
+	0x33, 0x32, 0x12, 0x34, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
+	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d,
+	0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x5b, 0x0a,
+	0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+	0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e,
+	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x70,
+	0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x5d, 0x0a, 0x0f, 0x72, 0x65,
+	0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+	0x6f, 0x6e, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61,
+	0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x5d, 0x0a, 0x0f, 0x72, 0x65, 0x70,
+	0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+	0x6e, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+	0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x5d, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65,
+	0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+	0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+	0x64, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x5d, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61,
+	0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+	0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+	0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x5f, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+	0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+	0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+	0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x5f, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61,
+	0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+	0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+	0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x61, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65,
+	0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+	0x6f, 0x6e, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61,
+	0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x61, 0x0a, 0x11, 0x72,
+	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
+	0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72, 0x65,
+	0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x5b,
+	0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+	0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65,
+	0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x5d, 0x0a, 0x0f, 0x72,
+	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x34,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65,
+	0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x3a, 0x59, 0x0a, 0x0d, 0x72, 0x65,
+	0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+	0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+	0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x3a, 0x5d, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+	0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2c,
+	0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74,
+	0x72, 0x69, 0x6e, 0x67, 0x3a, 0x5b, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+	0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+	0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2d, 0x20, 0x03,
+	0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65,
+	0x73, 0x3a, 0x93, 0x01, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72,
+	0x6f, 0x75, 0x70, 0x12, 0x34, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x0b, 0x32,
+	0x30, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75,
+	0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+	0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3a, 0xb0, 0x01, 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, 0x12, 0x34, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32,
+	0x42, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e,
+	0x73, 0x69, 0x6f, 0x6e, 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, 0x3a, 0xa2, 0x01, 0x0a, 0x14, 0x72,
+	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65,
+	0x6e, 0x75, 0x6d, 0x12, 0x34, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e, 0x32,
+	0x3a, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 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, 0x3a,
+	0x5d, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32,
+	0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x51, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x38, 0x31,
+	0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x5d,
+	0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+	0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e,
+	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x52, 0x20, 0x01, 0x28, 0x03, 0x3a, 0x02, 0x38, 0x32, 0x52,
+	0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x5f, 0x0a,
+	0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12,
+	0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e,
+	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x02, 0x38, 0x33, 0x52,
+	0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x5f,
+	0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
+	0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x02, 0x38, 0x34,
+	0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a,
+	0x60, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33,
+	0x32, 0x12, 0x34, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x55, 0x20, 0x01, 0x28, 0x11, 0x3a, 0x03, 0x2d,
+	0x38, 0x35, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x33,
+	0x32, 0x3a, 0x5f, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x6e,
+	0x74, 0x36, 0x34, 0x12, 0x34, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x3a,
+	0x02, 0x38, 0x36, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x6e, 0x74,
+	0x36, 0x34, 0x3a, 0x61, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69,
+	0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+	0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x57, 0x20, 0x01, 0x28,
+	0x07, 0x3a, 0x02, 0x38, 0x37, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x69,
+	0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x61, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+	0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x58,
+	0x20, 0x01, 0x28, 0x06, 0x3a, 0x02, 0x38, 0x38, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+	0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x63, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61,
+	0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+	0x6e, 0x73, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0f, 0x3a, 0x02, 0x38, 0x39, 0x52, 0x0f, 0x64, 0x65,
+	0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x64, 0x0a,
+	0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
+	0x34, 0x12, 0x34, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x50, 0x20, 0x01, 0x28, 0x10, 0x3a, 0x03, 0x2d,
+	0x39, 0x30, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65,
+	0x64, 0x36, 0x34, 0x3a, 0x5f, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66,
+	0x6c, 0x6f, 0x61, 0x74, 0x12, 0x34, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x02,
+	0x3a, 0x04, 0x39, 0x31, 0x2e, 0x35, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46,
+	0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x62, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
+	0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+	0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5c, 0x20, 0x01,
+	0x28, 0x01, 0x3a, 0x05, 0x39, 0x32, 0x30, 0x30, 0x30, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75,
+	0x6c, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x3a, 0x5d, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61,
+	0x75, 0x6c, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5d,
+	0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61,
+	0x75, 0x6c, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x3a, 0x62, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75,
+	0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+	0x5e, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x05, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x0d, 0x64, 0x65,
+	0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x60, 0x0a, 0x0d, 0x64,
+	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+	0x6e, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c, 0x3a, 0x05, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52,
+	0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x7e, 0x0a,
+	0x06, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
+	0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe8, 0x07,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
+	0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x06, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x3a, 0x7c, 0x0a,
+	0x05, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x34, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+	0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe9, 0x07, 0x20,
+	0x03, 0x28, 0x0b, 0x32, 0x2f, 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, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
+	0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x3a, 0x74, 0x0a, 0x19, 0x67,
+	0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x65,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73,
+	0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69,
+	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x17, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
+	0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+	0x6e, 0x3a, 0x8a, 0x01, 0x0a, 0x21, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x63,
+	0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76,
+	0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x6e, 0x12, 0x38, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74,
+	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f,
+	0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x18, 0x01, 0x52, 0x1e,
+	0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x6e, 0x42, 0x5d,
+	0x5a, 0x4f, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x65,
+	0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69,
+	0x64, 0x92, 0x03, 0x09, 0xd2, 0x3e, 0x02, 0x10, 0x02, 0x18, 0x02, 0x20, 0x03, 0x62, 0x08, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
+}
+
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_goTypes = []any{
+	(*TestAllExtensions)(nil),               // 0: hybrid.goproto.proto.testeditions.TestAllExtensions
+	(*OptionalGroup)(nil),                   // 1: hybrid.goproto.proto.testeditions.OptionalGroup
+	(*RepeatedGroup)(nil),                   // 2: hybrid.goproto.proto.testeditions.RepeatedGroup
+	(*TestFeatureResolution)(nil),           // 3: hybrid.goproto.proto.testeditions.TestFeatureResolution
+	(*RepeatedFieldEncoding)(nil),           // 4: hybrid.goproto.proto.testeditions.RepeatedFieldEncoding
+	(*TestAllExtensions_NestedMessage)(nil), // 5: hybrid.goproto.proto.testeditions.TestAllExtensions.NestedMessage
+	(TestAllTypes_NestedEnum)(0),            // 6: hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum
+	(*TestRequired)(nil),                    // 7: hybrid.goproto.proto.testeditions.TestRequired
+}
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_depIdxs = []int32{
+	5,  // 0: hybrid.goproto.proto.testeditions.OptionalGroup.optional_nested_message:type_name -> hybrid.goproto.proto.testeditions.TestAllExtensions.NestedMessage
+	5,  // 1: hybrid.goproto.proto.testeditions.RepeatedGroup.optional_nested_message:type_name -> hybrid.goproto.proto.testeditions.TestAllExtensions.NestedMessage
+	0,  // 2: hybrid.goproto.proto.testeditions.TestAllExtensions.NestedMessage.corecursive:type_name -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 3: hybrid.goproto.proto.testeditions.optional_int32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 4: hybrid.goproto.proto.testeditions.optional_int64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 5: hybrid.goproto.proto.testeditions.optional_uint32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 6: hybrid.goproto.proto.testeditions.optional_uint64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 7: hybrid.goproto.proto.testeditions.optional_sint32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 8: hybrid.goproto.proto.testeditions.optional_sint64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 9: hybrid.goproto.proto.testeditions.optional_fixed32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 10: hybrid.goproto.proto.testeditions.optional_fixed64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 11: hybrid.goproto.proto.testeditions.optional_sfixed32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 12: hybrid.goproto.proto.testeditions.optional_sfixed64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 13: hybrid.goproto.proto.testeditions.optional_float:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 14: hybrid.goproto.proto.testeditions.optional_double:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 15: hybrid.goproto.proto.testeditions.optional_bool:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 16: hybrid.goproto.proto.testeditions.optional_string:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 17: hybrid.goproto.proto.testeditions.optional_bytes:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 18: hybrid.goproto.proto.testeditions.optionalgroup:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 19: hybrid.goproto.proto.testeditions.optional_nested_message:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 20: hybrid.goproto.proto.testeditions.optional_nested_enum:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 21: hybrid.goproto.proto.testeditions.repeated_int32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 22: hybrid.goproto.proto.testeditions.repeated_int64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 23: hybrid.goproto.proto.testeditions.repeated_uint32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 24: hybrid.goproto.proto.testeditions.repeated_uint64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 25: hybrid.goproto.proto.testeditions.repeated_sint32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 26: hybrid.goproto.proto.testeditions.repeated_sint64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 27: hybrid.goproto.proto.testeditions.repeated_fixed32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 28: hybrid.goproto.proto.testeditions.repeated_fixed64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 29: hybrid.goproto.proto.testeditions.repeated_sfixed32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 30: hybrid.goproto.proto.testeditions.repeated_sfixed64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 31: hybrid.goproto.proto.testeditions.repeated_float:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 32: hybrid.goproto.proto.testeditions.repeated_double:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 33: hybrid.goproto.proto.testeditions.repeated_bool:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 34: hybrid.goproto.proto.testeditions.repeated_string:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 35: hybrid.goproto.proto.testeditions.repeated_bytes:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 36: hybrid.goproto.proto.testeditions.repeatedgroup:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 37: hybrid.goproto.proto.testeditions.repeated_nested_message:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 38: hybrid.goproto.proto.testeditions.repeated_nested_enum:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 39: hybrid.goproto.proto.testeditions.default_int32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 40: hybrid.goproto.proto.testeditions.default_int64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 41: hybrid.goproto.proto.testeditions.default_uint32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 42: hybrid.goproto.proto.testeditions.default_uint64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 43: hybrid.goproto.proto.testeditions.default_sint32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 44: hybrid.goproto.proto.testeditions.default_sint64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 45: hybrid.goproto.proto.testeditions.default_fixed32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 46: hybrid.goproto.proto.testeditions.default_fixed64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 47: hybrid.goproto.proto.testeditions.default_sfixed32:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 48: hybrid.goproto.proto.testeditions.default_sfixed64:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 49: hybrid.goproto.proto.testeditions.default_float:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 50: hybrid.goproto.proto.testeditions.default_double:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 51: hybrid.goproto.proto.testeditions.default_bool:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 52: hybrid.goproto.proto.testeditions.default_string:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 53: hybrid.goproto.proto.testeditions.default_bytes:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 54: hybrid.goproto.proto.testeditions.single:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	0,  // 55: hybrid.goproto.proto.testeditions.multi:extendee -> hybrid.goproto.proto.testeditions.TestAllExtensions
+	3,  // 56: hybrid.goproto.proto.testeditions.global_expanded_extension:extendee -> hybrid.goproto.proto.testeditions.TestFeatureResolution
+	3,  // 57: hybrid.goproto.proto.testeditions.global_packed_extension_overriden:extendee -> hybrid.goproto.proto.testeditions.TestFeatureResolution
+	3,  // 58: hybrid.goproto.proto.testeditions.RepeatedFieldEncoding.message_expanded_extension:extendee -> hybrid.goproto.proto.testeditions.TestFeatureResolution
+	3,  // 59: hybrid.goproto.proto.testeditions.RepeatedFieldEncoding.message_packed_extension_overriden:extendee -> hybrid.goproto.proto.testeditions.TestFeatureResolution
+	1,  // 60: hybrid.goproto.proto.testeditions.optionalgroup:type_name -> hybrid.goproto.proto.testeditions.OptionalGroup
+	5,  // 61: hybrid.goproto.proto.testeditions.optional_nested_message:type_name -> hybrid.goproto.proto.testeditions.TestAllExtensions.NestedMessage
+	6,  // 62: hybrid.goproto.proto.testeditions.optional_nested_enum:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum
+	2,  // 63: hybrid.goproto.proto.testeditions.repeatedgroup:type_name -> hybrid.goproto.proto.testeditions.RepeatedGroup
+	5,  // 64: hybrid.goproto.proto.testeditions.repeated_nested_message:type_name -> hybrid.goproto.proto.testeditions.TestAllExtensions.NestedMessage
+	6,  // 65: hybrid.goproto.proto.testeditions.repeated_nested_enum:type_name -> hybrid.goproto.proto.testeditions.TestAllTypes.NestedEnum
+	7,  // 66: hybrid.goproto.proto.testeditions.single:type_name -> hybrid.goproto.proto.testeditions.TestRequired
+	7,  // 67: hybrid.goproto.proto.testeditions.multi:type_name -> hybrid.goproto.proto.testeditions.TestRequired
+	68, // [68:68] is the sub-list for method output_type
+	68, // [68:68] is the sub-list for method input_type
+	60, // [60:68] is the sub-list for extension type_name
+	3,  // [3:60] is the sub-list for extension extendee
+	0,  // [0:3] is the sub-list for field type_name
+}
+
+func init() {
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_init()
+}
+func file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_init() {
+	if File_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto != nil {
+		return
+	}
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_hybrid_proto_init()
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   6,
+			NumExtensions: 57,
+			NumServices:   0,
+		},
+		GoTypes:           file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_goTypes,
+		DependencyIndexes: file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_depIdxs,
+		MessageInfos:      file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_msgTypes,
+		ExtensionInfos:    file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_extTypes,
+	}.Build()
+	File_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto = out.File
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_rawDesc = nil
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_goTypes = nil
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid.pb.go b/internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid.pb.go
index 1f23a72..bb40fbf 100644
--- a/internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid.pb.go
+++ b/internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid.pb.go
@@ -5,6 +5,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid.proto
 
+//go:build !protoopaque
+
 package testeditions_hybrid
 
 import (
diff --git a/internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid_protoopaque.pb.go b/internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..22a8c35
--- /dev/null
+++ b/internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid_protoopaque.pb.go
@@ -0,0 +1,219 @@
+// Copyright 2024 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/testeditions/testeditions_hybrid/test_extension2.hybrid.proto
+
+//go:build protoopaque
+
+package testeditions_hybrid
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	reflect "reflect"
+)
+
+type OtherRepeatedFieldEncoding struct {
+	state         protoimpl.MessageState `protogen:"opaque.v1"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *OtherRepeatedFieldEncoding) Reset() {
+	*x = OtherRepeatedFieldEncoding{}
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *OtherRepeatedFieldEncoding) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OtherRepeatedFieldEncoding) ProtoMessage() {}
+
+func (x *OtherRepeatedFieldEncoding) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_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 OtherRepeatedFieldEncoding_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 OtherRepeatedFieldEncoding_builder) Build() *OtherRepeatedFieldEncoding {
+	m0 := &OtherRepeatedFieldEncoding{}
+	b, x := &b0, m0
+	_, _ = b, x
+	return m0
+}
+
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_extTypes = []protoimpl.ExtensionInfo{
+	{
+		ExtendedType:  (*TestFeatureResolution)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         6,
+		Name:          "hybrid.goproto.proto.testeditions.other_file_global_expanded_extension_overriden",
+		Tag:           "varint,6,rep,name=other_file_global_expanded_extension_overriden",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestFeatureResolution)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         7,
+		Name:          "hybrid.goproto.proto.testeditions.other_file_global_packed_extension",
+		Tag:           "varint,7,rep,packed,name=other_file_global_packed_extension",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestFeatureResolution)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         8,
+		Name:          "hybrid.goproto.proto.testeditions.OtherRepeatedFieldEncoding.other_file_message_expanded_extension_overriden",
+		Tag:           "varint,8,rep,name=other_file_message_expanded_extension_overriden",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*TestFeatureResolution)(nil),
+		ExtensionType: ([]int32)(nil),
+		Field:         9,
+		Name:          "hybrid.goproto.proto.testeditions.OtherRepeatedFieldEncoding.other_file_message_packed_extension",
+		Tag:           "varint,9,rep,packed,name=other_file_message_packed_extension",
+		Filename:      "internal/testprotos/testeditions/testeditions_hybrid/test_extension2.hybrid.proto",
+	},
+}
+
+// Extension fields to TestFeatureResolution.
+var (
+	// repeated int32 other_file_global_expanded_extension_overriden = 6;
+	E_OtherFileGlobalExpandedExtensionOverriden = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_extTypes[0]
+	// repeated int32 other_file_global_packed_extension = 7;
+	E_OtherFileGlobalPackedExtension = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_extTypes[1]
+	// repeated int32 other_file_message_expanded_extension_overriden = 8;
+	E_OtherRepeatedFieldEncoding_OtherFileMessageExpandedExtensionOverriden = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_extTypes[2]
+	// repeated int32 other_file_message_packed_extension = 9;
+	E_OtherRepeatedFieldEncoding_OtherFileMessagePackedExtension = &file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_extTypes[3]
+)
+
+var File_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_rawDesc = []byte{
+	0x0a, 0x51, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x12, 0x21, 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, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x50, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
+	0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73,
+	0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61,
+	0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x02, 0x0a, 0x1a,
+	0x4f, 0x74, 0x68, 0x65, 0x72, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65,
+	0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x32, 0xa4, 0x01, 0x0a, 0x2f, 0x6f,
+	0x74, 0x68, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+	0x65, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
+	0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x6e, 0x12, 0x38,
+	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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65,
+	0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x18, 0x02, 0x52, 0x2a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x65,
+	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x45,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
+	0x6e, 0x32, 0x86, 0x01, 0x0a, 0x23, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65,
+	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f,
+	0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74,
+	0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, 0x1f, 0x6f, 0x74, 0x68, 0x65, 0x72,
+	0x46, 0x69, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65,
+	0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0xa2, 0x01, 0x0a, 0x2e, 0x6f,
+	0x74, 0x68, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
+	0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
+	0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x6e, 0x12, 0x38, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73,
+	0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x42, 0x05, 0xaa,
+	0x01, 0x02, 0x18, 0x02, 0x52, 0x29, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x47,
+	0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x45, 0x78, 0x74,
+	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x6e, 0x3a,
+	0x84, 0x01, 0x0a, 0x22, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x67,
+	0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74,
+	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x46,
+	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e,
+	0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x1e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x46, 0x69, 0x6c,
+	0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74,
+	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x5b, 0x5a, 0x4f, 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, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x92, 0x03, 0x07, 0xd2, 0x3e, 0x02, 0x10,
+	0x02, 0x18, 0x01, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
+}
+
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_goTypes = []any{
+	(*OtherRepeatedFieldEncoding)(nil), // 0: hybrid.goproto.proto.testeditions.OtherRepeatedFieldEncoding
+	(*TestFeatureResolution)(nil),      // 1: hybrid.goproto.proto.testeditions.TestFeatureResolution
+}
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_depIdxs = []int32{
+	1, // 0: hybrid.goproto.proto.testeditions.other_file_global_expanded_extension_overriden:extendee -> hybrid.goproto.proto.testeditions.TestFeatureResolution
+	1, // 1: hybrid.goproto.proto.testeditions.other_file_global_packed_extension:extendee -> hybrid.goproto.proto.testeditions.TestFeatureResolution
+	1, // 2: hybrid.goproto.proto.testeditions.OtherRepeatedFieldEncoding.other_file_message_expanded_extension_overriden:extendee -> hybrid.goproto.proto.testeditions.TestFeatureResolution
+	1, // 3: hybrid.goproto.proto.testeditions.OtherRepeatedFieldEncoding.other_file_message_packed_extension:extendee -> hybrid.goproto.proto.testeditions.TestFeatureResolution
+	4, // [4:4] is the sub-list for method output_type
+	4, // [4:4] is the sub-list for method input_type
+	4, // [4:4] is the sub-list for extension type_name
+	0, // [0:4] is the sub-list for extension extendee
+	0, // [0:0] is the sub-list for field type_name
+}
+
+func init() {
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_init()
+}
+func file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_init() {
+	if File_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto != nil {
+		return
+	}
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_extension_hybrid_proto_init()
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   1,
+			NumExtensions: 4,
+			NumServices:   0,
+		},
+		GoTypes:           file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_goTypes,
+		DependencyIndexes: file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_depIdxs,
+		MessageInfos:      file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_msgTypes,
+		ExtensionInfos:    file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_extTypes,
+	}.Build()
+	File_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto = out.File
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_rawDesc = nil
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_goTypes = nil
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_extension2_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/testeditions/testeditions_hybrid/test_import.hybrid.pb.go b/internal/testprotos/testeditions/testeditions_hybrid/test_import.hybrid.pb.go
index cc6e620..74aaa0b 100644
--- a/internal/testprotos/testeditions/testeditions_hybrid/test_import.hybrid.pb.go
+++ b/internal/testprotos/testeditions/testeditions_hybrid/test_import.hybrid.pb.go
@@ -5,6 +5,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: internal/testprotos/testeditions/testeditions_hybrid/test_import.hybrid.proto
 
+//go:build !protoopaque
+
 package testeditions_hybrid
 
 import (
diff --git a/internal/testprotos/testeditions/testeditions_hybrid/test_import.hybrid_protoopaque.pb.go b/internal/testprotos/testeditions/testeditions_hybrid/test_import.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..ec1fa8d
--- /dev/null
+++ b/internal/testprotos/testeditions/testeditions_hybrid/test_import.hybrid_protoopaque.pb.go
@@ -0,0 +1,164 @@
+// Copyright 2024 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/testeditions/testeditions_hybrid/test_import.hybrid.proto
+
+//go:build protoopaque
+
+package testeditions_hybrid
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	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_testeditions_testeditions_hybrid_test_import_hybrid_proto_enumTypes[0].Descriptor()
+}
+
+func (ImportEnum) Type() protoreflect.EnumType {
+	return &file_internal_testprotos_testeditions_testeditions_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_testeditions_testeditions_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_testeditions_testeditions_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_testeditions_testeditions_hybrid_test_import_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_rawDesc = []byte{
+	0x0a, 0x4d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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,
+	0x21, 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, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x1a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 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, 0x59, 0x5a, 0x4f, 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, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x92, 0x03, 0x05, 0xd2, 0x3e, 0x02, 0x10, 0x02,
+	0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
+}
+
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_goTypes = []any{
+	(ImportEnum)(0),       // 0: hybrid.goproto.proto.testeditions.ImportEnum
+	(*ImportMessage)(nil), // 1: hybrid.goproto.proto.testeditions.ImportMessage
+}
+var file_internal_testprotos_testeditions_testeditions_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_testeditions_testeditions_hybrid_test_import_hybrid_proto_init()
+}
+func file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_init() {
+	if File_internal_testprotos_testeditions_testeditions_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_testeditions_testeditions_hybrid_test_import_hybrid_proto_rawDesc,
+			NumEnums:      1,
+			NumMessages:   1,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_goTypes,
+		DependencyIndexes: file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_depIdxs,
+		EnumInfos:         file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_enumTypes,
+		MessageInfos:      file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_msgTypes,
+	}.Build()
+	File_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto = out.File
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_rawDesc = nil
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_goTypes = nil
+	file_internal_testprotos_testeditions_testeditions_hybrid_test_import_hybrid_proto_depIdxs = nil
+}
diff --git a/internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.pb.go b/internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.pb.go
index 61379b5..b322af4 100644
--- a/internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.pb.go
+++ b/internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.pb.go
@@ -7,6 +7,8 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto
 
+//go:build !protoopaque
+
 package textpbeditions_hybrid
 
 import (
diff --git a/internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid_protoopaque.pb.go b/internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid_protoopaque.pb.go
new file mode 100644
index 0000000..96f66af
--- /dev/null
+++ b/internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid_protoopaque.pb.go
@@ -0,0 +1,4464 @@
+// Copyright 2024 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.
+
+// Test Protobuf definitions with proto2 syntax.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto
+
+//go:build protoopaque
+
+package textpbeditions_hybrid
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/gofeaturespb"
+	anypb "google.golang.org/protobuf/types/known/anypb"
+	durationpb "google.golang.org/protobuf/types/known/durationpb"
+	emptypb "google.golang.org/protobuf/types/known/emptypb"
+	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
+	structpb "google.golang.org/protobuf/types/known/structpb"
+	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
+	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
+	reflect "reflect"
+)
+
+type Enum int32
+
+const (
+	Enum_ONE Enum = 1
+	Enum_TWO Enum = 2
+	Enum_TEN Enum = 10
+)
+
+// Enum value maps for Enum.
+var (
+	Enum_name = map[int32]string{
+		1:  "ONE",
+		2:  "TWO",
+		10: "TEN",
+	}
+	Enum_value = map[string]int32{
+		"ONE": 1,
+		"TWO": 2,
+		"TEN": 10,
+	}
+)
+
+func (x Enum) Enum() *Enum {
+	p := new(Enum)
+	*p = x
+	return p
+}
+
+func (x Enum) String() string {
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (Enum) Descriptor() protoreflect.EnumDescriptor {
+	return file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_enumTypes[0].Descriptor()
+}
+
+func (Enum) Type() protoreflect.EnumType {
+	return &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_enumTypes[0]
+}
+
+func (x Enum) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+type OpenEnum int32
+
+const (
+	OpenEnum_UNKNOWN OpenEnum = 0
+	OpenEnum_EINS    OpenEnum = 1
+	OpenEnum_ZWEI    OpenEnum = 2
+	OpenEnum_ZEHN    OpenEnum = 10
+)
+
+// Enum value maps for OpenEnum.
+var (
+	OpenEnum_name = map[int32]string{
+		0:  "UNKNOWN",
+		1:  "EINS",
+		2:  "ZWEI",
+		10: "ZEHN",
+	}
+	OpenEnum_value = map[string]int32{
+		"UNKNOWN": 0,
+		"EINS":    1,
+		"ZWEI":    2,
+		"ZEHN":    10,
+	}
+)
+
+func (x OpenEnum) Enum() *OpenEnum {
+	p := new(OpenEnum)
+	*p = x
+	return p
+}
+
+func (x OpenEnum) String() string {
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (OpenEnum) Descriptor() protoreflect.EnumDescriptor {
+	return file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_enumTypes[1].Descriptor()
+}
+
+func (OpenEnum) Type() protoreflect.EnumType {
+	return &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_enumTypes[1]
+}
+
+func (x OpenEnum) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+type Enums_NestedEnum int32
+
+const (
+	Enums_UNO  Enums_NestedEnum = 1
+	Enums_DOS  Enums_NestedEnum = 2
+	Enums_DIEZ Enums_NestedEnum = 10
+)
+
+// Enum value maps for Enums_NestedEnum.
+var (
+	Enums_NestedEnum_name = map[int32]string{
+		1:  "UNO",
+		2:  "DOS",
+		10: "DIEZ",
+	}
+	Enums_NestedEnum_value = map[string]int32{
+		"UNO":  1,
+		"DOS":  2,
+		"DIEZ": 10,
+	}
+)
+
+func (x Enums_NestedEnum) Enum() *Enums_NestedEnum {
+	p := new(Enums_NestedEnum)
+	*p = x
+	return p
+}
+
+func (x Enums_NestedEnum) String() string {
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (Enums_NestedEnum) Descriptor() protoreflect.EnumDescriptor {
+	return file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_enumTypes[2].Descriptor()
+}
+
+func (Enums_NestedEnum) Type() protoreflect.EnumType {
+	return &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_enumTypes[2]
+}
+
+func (x Enums_NestedEnum) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+type Enums_NestedOpenEnum int32
+
+const (
+	Enums_UNKNOWN Enums_NestedOpenEnum = 0
+	Enums_EINS    Enums_NestedOpenEnum = 1
+	Enums_ZWEI    Enums_NestedOpenEnum = 2
+	Enums_ZEHN    Enums_NestedOpenEnum = 10
+)
+
+// Enum value maps for Enums_NestedOpenEnum.
+var (
+	Enums_NestedOpenEnum_name = map[int32]string{
+		0:  "UNKNOWN",
+		1:  "EINS",
+		2:  "ZWEI",
+		10: "ZEHN",
+	}
+	Enums_NestedOpenEnum_value = map[string]int32{
+		"UNKNOWN": 0,
+		"EINS":    1,
+		"ZWEI":    2,
+		"ZEHN":    10,
+	}
+)
+
+func (x Enums_NestedOpenEnum) Enum() *Enums_NestedOpenEnum {
+	p := new(Enums_NestedOpenEnum)
+	*p = x
+	return p
+}
+
+func (x Enums_NestedOpenEnum) String() string {
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (Enums_NestedOpenEnum) Descriptor() protoreflect.EnumDescriptor {
+	return file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_enumTypes[3].Descriptor()
+}
+
+func (Enums_NestedOpenEnum) Type() protoreflect.EnumType {
+	return &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_enumTypes[3]
+}
+
+func (x Enums_NestedOpenEnum) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Scalars contains scalar fields.
+type Scalars struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_OptBool     bool                   `protobuf:"varint,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
+	xxx_hidden_OptInt32    int32                  `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
+	xxx_hidden_OptInt64    int64                  `protobuf:"varint,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"`
+	xxx_hidden_OptUint32   uint32                 `protobuf:"varint,4,opt,name=opt_uint32,json=optUint32" json:"opt_uint32,omitempty"`
+	xxx_hidden_OptUint64   uint64                 `protobuf:"varint,5,opt,name=opt_uint64,json=optUint64" json:"opt_uint64,omitempty"`
+	xxx_hidden_OptSint32   int32                  `protobuf:"zigzag32,6,opt,name=opt_sint32,json=optSint32" json:"opt_sint32,omitempty"`
+	xxx_hidden_OptSint64   int64                  `protobuf:"zigzag64,7,opt,name=opt_sint64,json=optSint64" json:"opt_sint64,omitempty"`
+	xxx_hidden_OptFixed32  uint32                 `protobuf:"fixed32,8,opt,name=opt_fixed32,json=optFixed32" json:"opt_fixed32,omitempty"`
+	xxx_hidden_OptFixed64  uint64                 `protobuf:"fixed64,9,opt,name=opt_fixed64,json=optFixed64" json:"opt_fixed64,omitempty"`
+	xxx_hidden_OptSfixed32 int32                  `protobuf:"fixed32,10,opt,name=opt_sfixed32,json=optSfixed32" json:"opt_sfixed32,omitempty"`
+	xxx_hidden_OptSfixed64 int64                  `protobuf:"fixed64,11,opt,name=opt_sfixed64,json=optSfixed64" json:"opt_sfixed64,omitempty"`
+	xxx_hidden_OptFloat    float32                `protobuf:"fixed32,20,opt,name=opt_float,json=optFloat" json:"opt_float,omitempty"`
+	xxx_hidden_OptDouble   float64                `protobuf:"fixed64,21,opt,name=opt_double,json=optDouble" json:"opt_double,omitempty"`
+	xxx_hidden_OptBytes    []byte                 `protobuf:"bytes,14,opt,name=opt_bytes,json=optBytes" json:"opt_bytes,omitempty"`
+	xxx_hidden_OptString   *string                `protobuf:"bytes,13,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Scalars) Reset() {
+	*x = Scalars{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Scalars) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Scalars) ProtoMessage() {}
+
+func (x *Scalars) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_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 *Scalars) GetOptBool() bool {
+	if x != nil {
+		return x.xxx_hidden_OptBool
+	}
+	return false
+}
+
+func (x *Scalars) GetOptInt32() int32 {
+	if x != nil {
+		return x.xxx_hidden_OptInt32
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptInt64() int64 {
+	if x != nil {
+		return x.xxx_hidden_OptInt64
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptUint32() uint32 {
+	if x != nil {
+		return x.xxx_hidden_OptUint32
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptUint64() uint64 {
+	if x != nil {
+		return x.xxx_hidden_OptUint64
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptSint32() int32 {
+	if x != nil {
+		return x.xxx_hidden_OptSint32
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptSint64() int64 {
+	if x != nil {
+		return x.xxx_hidden_OptSint64
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptFixed32() uint32 {
+	if x != nil {
+		return x.xxx_hidden_OptFixed32
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptFixed64() uint64 {
+	if x != nil {
+		return x.xxx_hidden_OptFixed64
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptSfixed32() int32 {
+	if x != nil {
+		return x.xxx_hidden_OptSfixed32
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptSfixed64() int64 {
+	if x != nil {
+		return x.xxx_hidden_OptSfixed64
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptFloat() float32 {
+	if x != nil {
+		return x.xxx_hidden_OptFloat
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptDouble() float64 {
+	if x != nil {
+		return x.xxx_hidden_OptDouble
+	}
+	return 0
+}
+
+func (x *Scalars) GetOptBytes() []byte {
+	if x != nil {
+		return x.xxx_hidden_OptBytes
+	}
+	return nil
+}
+
+func (x *Scalars) GetOptString() string {
+	if x != nil {
+		if x.xxx_hidden_OptString != nil {
+			return *x.xxx_hidden_OptString
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *Scalars) SetOptBool(v bool) {
+	x.xxx_hidden_OptBool = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 15)
+}
+
+func (x *Scalars) SetOptInt32(v int32) {
+	x.xxx_hidden_OptInt32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 15)
+}
+
+func (x *Scalars) SetOptInt64(v int64) {
+	x.xxx_hidden_OptInt64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 15)
+}
+
+func (x *Scalars) SetOptUint32(v uint32) {
+	x.xxx_hidden_OptUint32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 15)
+}
+
+func (x *Scalars) SetOptUint64(v uint64) {
+	x.xxx_hidden_OptUint64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 15)
+}
+
+func (x *Scalars) SetOptSint32(v int32) {
+	x.xxx_hidden_OptSint32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 15)
+}
+
+func (x *Scalars) SetOptSint64(v int64) {
+	x.xxx_hidden_OptSint64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 6, 15)
+}
+
+func (x *Scalars) SetOptFixed32(v uint32) {
+	x.xxx_hidden_OptFixed32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 7, 15)
+}
+
+func (x *Scalars) SetOptFixed64(v uint64) {
+	x.xxx_hidden_OptFixed64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 8, 15)
+}
+
+func (x *Scalars) SetOptSfixed32(v int32) {
+	x.xxx_hidden_OptSfixed32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 9, 15)
+}
+
+func (x *Scalars) SetOptSfixed64(v int64) {
+	x.xxx_hidden_OptSfixed64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 10, 15)
+}
+
+func (x *Scalars) SetOptFloat(v float32) {
+	x.xxx_hidden_OptFloat = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 11, 15)
+}
+
+func (x *Scalars) SetOptDouble(v float64) {
+	x.xxx_hidden_OptDouble = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 12, 15)
+}
+
+func (x *Scalars) SetOptBytes(v []byte) {
+	if v == nil {
+		v = []byte{}
+	}
+	x.xxx_hidden_OptBytes = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 13, 15)
+}
+
+func (x *Scalars) SetOptString(v string) {
+	x.xxx_hidden_OptString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 14, 15)
+}
+
+func (x *Scalars) HasOptBool() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Scalars) HasOptInt32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *Scalars) HasOptInt64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *Scalars) HasOptUint32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 3)
+}
+
+func (x *Scalars) HasOptUint64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 4)
+}
+
+func (x *Scalars) HasOptSint32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 5)
+}
+
+func (x *Scalars) HasOptSint64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 6)
+}
+
+func (x *Scalars) HasOptFixed32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 7)
+}
+
+func (x *Scalars) HasOptFixed64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 8)
+}
+
+func (x *Scalars) HasOptSfixed32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 9)
+}
+
+func (x *Scalars) HasOptSfixed64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 10)
+}
+
+func (x *Scalars) HasOptFloat() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 11)
+}
+
+func (x *Scalars) HasOptDouble() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 12)
+}
+
+func (x *Scalars) HasOptBytes() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 13)
+}
+
+func (x *Scalars) HasOptString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 14)
+}
+
+func (x *Scalars) ClearOptBool() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_OptBool = false
+}
+
+func (x *Scalars) ClearOptInt32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_OptInt32 = 0
+}
+
+func (x *Scalars) ClearOptInt64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_OptInt64 = 0
+}
+
+func (x *Scalars) ClearOptUint32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3)
+	x.xxx_hidden_OptUint32 = 0
+}
+
+func (x *Scalars) ClearOptUint64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4)
+	x.xxx_hidden_OptUint64 = 0
+}
+
+func (x *Scalars) ClearOptSint32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 5)
+	x.xxx_hidden_OptSint32 = 0
+}
+
+func (x *Scalars) ClearOptSint64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 6)
+	x.xxx_hidden_OptSint64 = 0
+}
+
+func (x *Scalars) ClearOptFixed32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 7)
+	x.xxx_hidden_OptFixed32 = 0
+}
+
+func (x *Scalars) ClearOptFixed64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 8)
+	x.xxx_hidden_OptFixed64 = 0
+}
+
+func (x *Scalars) ClearOptSfixed32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 9)
+	x.xxx_hidden_OptSfixed32 = 0
+}
+
+func (x *Scalars) ClearOptSfixed64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 10)
+	x.xxx_hidden_OptSfixed64 = 0
+}
+
+func (x *Scalars) ClearOptFloat() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 11)
+	x.xxx_hidden_OptFloat = 0
+}
+
+func (x *Scalars) ClearOptDouble() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 12)
+	x.xxx_hidden_OptDouble = 0
+}
+
+func (x *Scalars) ClearOptBytes() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 13)
+	x.xxx_hidden_OptBytes = nil
+}
+
+func (x *Scalars) ClearOptString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 14)
+	x.xxx_hidden_OptString = nil
+}
+
+type Scalars_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptBool     *bool
+	OptInt32    *int32
+	OptInt64    *int64
+	OptUint32   *uint32
+	OptUint64   *uint64
+	OptSint32   *int32
+	OptSint64   *int64
+	OptFixed32  *uint32
+	OptFixed64  *uint64
+	OptSfixed32 *int32
+	OptSfixed64 *int64
+	OptFloat    *float32
+	OptDouble   *float64
+	OptBytes    []byte
+	OptString   *string
+}
+
+func (b0 Scalars_builder) Build() *Scalars {
+	m0 := &Scalars{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.OptBool != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 15)
+		x.xxx_hidden_OptBool = *b.OptBool
+	}
+	if b.OptInt32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 15)
+		x.xxx_hidden_OptInt32 = *b.OptInt32
+	}
+	if b.OptInt64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 15)
+		x.xxx_hidden_OptInt64 = *b.OptInt64
+	}
+	if b.OptUint32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 15)
+		x.xxx_hidden_OptUint32 = *b.OptUint32
+	}
+	if b.OptUint64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 15)
+		x.xxx_hidden_OptUint64 = *b.OptUint64
+	}
+	if b.OptSint32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 15)
+		x.xxx_hidden_OptSint32 = *b.OptSint32
+	}
+	if b.OptSint64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 6, 15)
+		x.xxx_hidden_OptSint64 = *b.OptSint64
+	}
+	if b.OptFixed32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 7, 15)
+		x.xxx_hidden_OptFixed32 = *b.OptFixed32
+	}
+	if b.OptFixed64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 8, 15)
+		x.xxx_hidden_OptFixed64 = *b.OptFixed64
+	}
+	if b.OptSfixed32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 9, 15)
+		x.xxx_hidden_OptSfixed32 = *b.OptSfixed32
+	}
+	if b.OptSfixed64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 10, 15)
+		x.xxx_hidden_OptSfixed64 = *b.OptSfixed64
+	}
+	if b.OptFloat != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 11, 15)
+		x.xxx_hidden_OptFloat = *b.OptFloat
+	}
+	if b.OptDouble != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 12, 15)
+		x.xxx_hidden_OptDouble = *b.OptDouble
+	}
+	if b.OptBytes != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 13, 15)
+		x.xxx_hidden_OptBytes = b.OptBytes
+	}
+	if b.OptString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 14, 15)
+		x.xxx_hidden_OptString = b.OptString
+	}
+	return m0
+}
+
+// ImplicitScalars contains scalar field types with implicit field_presence
+type ImplicitScalars struct {
+	state                protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_SBool     bool                   `protobuf:"varint,1,opt,name=s_bool,json=sBool" json:"s_bool,omitempty"`
+	xxx_hidden_SInt32    int32                  `protobuf:"varint,2,opt,name=s_int32,json=sInt32" json:"s_int32,omitempty"`
+	xxx_hidden_SInt64    int64                  `protobuf:"varint,3,opt,name=s_int64,json=sInt64" json:"s_int64,omitempty"`
+	xxx_hidden_SUint32   uint32                 `protobuf:"varint,4,opt,name=s_uint32,json=sUint32" json:"s_uint32,omitempty"`
+	xxx_hidden_SUint64   uint64                 `protobuf:"varint,5,opt,name=s_uint64,json=sUint64" json:"s_uint64,omitempty"`
+	xxx_hidden_SSint32   int32                  `protobuf:"zigzag32,6,opt,name=s_sint32,json=sSint32" json:"s_sint32,omitempty"`
+	xxx_hidden_SSint64   int64                  `protobuf:"zigzag64,7,opt,name=s_sint64,json=sSint64" json:"s_sint64,omitempty"`
+	xxx_hidden_SFixed32  uint32                 `protobuf:"fixed32,8,opt,name=s_fixed32,json=sFixed32" json:"s_fixed32,omitempty"`
+	xxx_hidden_SFixed64  uint64                 `protobuf:"fixed64,9,opt,name=s_fixed64,json=sFixed64" json:"s_fixed64,omitempty"`
+	xxx_hidden_SSfixed32 int32                  `protobuf:"fixed32,10,opt,name=s_sfixed32,json=sSfixed32" json:"s_sfixed32,omitempty"`
+	xxx_hidden_SSfixed64 int64                  `protobuf:"fixed64,11,opt,name=s_sfixed64,json=sSfixed64" json:"s_sfixed64,omitempty"`
+	xxx_hidden_SFloat    float32                `protobuf:"fixed32,20,opt,name=s_float,json=sFloat" json:"s_float,omitempty"`
+	xxx_hidden_SDouble   float64                `protobuf:"fixed64,21,opt,name=s_double,json=sDouble" json:"s_double,omitempty"`
+	xxx_hidden_SBytes    []byte                 `protobuf:"bytes,14,opt,name=s_bytes,json=sBytes" json:"s_bytes,omitempty"`
+	xxx_hidden_SString   string                 `protobuf:"bytes,13,opt,name=s_string,json=sString" json:"s_string,omitempty"`
+	unknownFields        protoimpl.UnknownFields
+	sizeCache            protoimpl.SizeCache
+}
+
+func (x *ImplicitScalars) Reset() {
+	*x = ImplicitScalars{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ImplicitScalars) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ImplicitScalars) ProtoMessage() {}
+
+func (x *ImplicitScalars) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_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 *ImplicitScalars) GetSBool() bool {
+	if x != nil {
+		return x.xxx_hidden_SBool
+	}
+	return false
+}
+
+func (x *ImplicitScalars) GetSInt32() int32 {
+	if x != nil {
+		return x.xxx_hidden_SInt32
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSInt64() int64 {
+	if x != nil {
+		return x.xxx_hidden_SInt64
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSUint32() uint32 {
+	if x != nil {
+		return x.xxx_hidden_SUint32
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSUint64() uint64 {
+	if x != nil {
+		return x.xxx_hidden_SUint64
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSSint32() int32 {
+	if x != nil {
+		return x.xxx_hidden_SSint32
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSSint64() int64 {
+	if x != nil {
+		return x.xxx_hidden_SSint64
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSFixed32() uint32 {
+	if x != nil {
+		return x.xxx_hidden_SFixed32
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSFixed64() uint64 {
+	if x != nil {
+		return x.xxx_hidden_SFixed64
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSSfixed32() int32 {
+	if x != nil {
+		return x.xxx_hidden_SSfixed32
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSSfixed64() int64 {
+	if x != nil {
+		return x.xxx_hidden_SSfixed64
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSFloat() float32 {
+	if x != nil {
+		return x.xxx_hidden_SFloat
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSDouble() float64 {
+	if x != nil {
+		return x.xxx_hidden_SDouble
+	}
+	return 0
+}
+
+func (x *ImplicitScalars) GetSBytes() []byte {
+	if x != nil {
+		return x.xxx_hidden_SBytes
+	}
+	return nil
+}
+
+func (x *ImplicitScalars) GetSString() string {
+	if x != nil {
+		return x.xxx_hidden_SString
+	}
+	return ""
+}
+
+func (x *ImplicitScalars) SetSBool(v bool) {
+	x.xxx_hidden_SBool = v
+}
+
+func (x *ImplicitScalars) SetSInt32(v int32) {
+	x.xxx_hidden_SInt32 = v
+}
+
+func (x *ImplicitScalars) SetSInt64(v int64) {
+	x.xxx_hidden_SInt64 = v
+}
+
+func (x *ImplicitScalars) SetSUint32(v uint32) {
+	x.xxx_hidden_SUint32 = v
+}
+
+func (x *ImplicitScalars) SetSUint64(v uint64) {
+	x.xxx_hidden_SUint64 = v
+}
+
+func (x *ImplicitScalars) SetSSint32(v int32) {
+	x.xxx_hidden_SSint32 = v
+}
+
+func (x *ImplicitScalars) SetSSint64(v int64) {
+	x.xxx_hidden_SSint64 = v
+}
+
+func (x *ImplicitScalars) SetSFixed32(v uint32) {
+	x.xxx_hidden_SFixed32 = v
+}
+
+func (x *ImplicitScalars) SetSFixed64(v uint64) {
+	x.xxx_hidden_SFixed64 = v
+}
+
+func (x *ImplicitScalars) SetSSfixed32(v int32) {
+	x.xxx_hidden_SSfixed32 = v
+}
+
+func (x *ImplicitScalars) SetSSfixed64(v int64) {
+	x.xxx_hidden_SSfixed64 = v
+}
+
+func (x *ImplicitScalars) SetSFloat(v float32) {
+	x.xxx_hidden_SFloat = v
+}
+
+func (x *ImplicitScalars) SetSDouble(v float64) {
+	x.xxx_hidden_SDouble = v
+}
+
+func (x *ImplicitScalars) SetSBytes(v []byte) {
+	if v == nil {
+		v = []byte{}
+	}
+	x.xxx_hidden_SBytes = v
+}
+
+func (x *ImplicitScalars) SetSString(v string) {
+	x.xxx_hidden_SString = v
+}
+
+type ImplicitScalars_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	SBool     bool
+	SInt32    int32
+	SInt64    int64
+	SUint32   uint32
+	SUint64   uint64
+	SSint32   int32
+	SSint64   int64
+	SFixed32  uint32
+	SFixed64  uint64
+	SSfixed32 int32
+	SSfixed64 int64
+	SFloat    float32
+	SDouble   float64
+	SBytes    []byte
+	SString   string
+}
+
+func (b0 ImplicitScalars_builder) Build() *ImplicitScalars {
+	m0 := &ImplicitScalars{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_SBool = b.SBool
+	x.xxx_hidden_SInt32 = b.SInt32
+	x.xxx_hidden_SInt64 = b.SInt64
+	x.xxx_hidden_SUint32 = b.SUint32
+	x.xxx_hidden_SUint64 = b.SUint64
+	x.xxx_hidden_SSint32 = b.SSint32
+	x.xxx_hidden_SSint64 = b.SSint64
+	x.xxx_hidden_SFixed32 = b.SFixed32
+	x.xxx_hidden_SFixed64 = b.SFixed64
+	x.xxx_hidden_SSfixed32 = b.SSfixed32
+	x.xxx_hidden_SSfixed64 = b.SSfixed64
+	x.xxx_hidden_SFloat = b.SFloat
+	x.xxx_hidden_SDouble = b.SDouble
+	x.xxx_hidden_SBytes = b.SBytes
+	x.xxx_hidden_SString = b.SString
+	return m0
+}
+
+type UTF8Validated struct {
+	state                      protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_ValidatedString string                 `protobuf:"bytes,1,opt,name=validated_string,json=validatedString" json:"validated_string,omitempty"`
+	unknownFields              protoimpl.UnknownFields
+	sizeCache                  protoimpl.SizeCache
+}
+
+func (x *UTF8Validated) Reset() {
+	*x = UTF8Validated{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *UTF8Validated) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UTF8Validated) ProtoMessage() {}
+
+func (x *UTF8Validated) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_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 *UTF8Validated) GetValidatedString() string {
+	if x != nil {
+		return x.xxx_hidden_ValidatedString
+	}
+	return ""
+}
+
+func (x *UTF8Validated) SetValidatedString(v string) {
+	x.xxx_hidden_ValidatedString = v
+}
+
+type UTF8Validated_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	ValidatedString string
+}
+
+func (b0 UTF8Validated_builder) Build() *UTF8Validated {
+	m0 := &UTF8Validated{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_ValidatedString = b.ValidatedString
+	return m0
+}
+
+type NestsUTF8Validated struct {
+	state                       protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_ValidatedMessage *UTF8Validated         `protobuf:"bytes,1,opt,name=validated_message,json=validatedMessage" json:"validated_message,omitempty"`
+	unknownFields               protoimpl.UnknownFields
+	sizeCache                   protoimpl.SizeCache
+}
+
+func (x *NestsUTF8Validated) Reset() {
+	*x = NestsUTF8Validated{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *NestsUTF8Validated) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NestsUTF8Validated) ProtoMessage() {}
+
+func (x *NestsUTF8Validated) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[3]
+	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 *NestsUTF8Validated) GetValidatedMessage() *UTF8Validated {
+	if x != nil {
+		return x.xxx_hidden_ValidatedMessage
+	}
+	return nil
+}
+
+func (x *NestsUTF8Validated) SetValidatedMessage(v *UTF8Validated) {
+	x.xxx_hidden_ValidatedMessage = v
+}
+
+func (x *NestsUTF8Validated) HasValidatedMessage() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_ValidatedMessage != nil
+}
+
+func (x *NestsUTF8Validated) ClearValidatedMessage() {
+	x.xxx_hidden_ValidatedMessage = nil
+}
+
+type NestsUTF8Validated_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	ValidatedMessage *UTF8Validated
+}
+
+func (b0 NestsUTF8Validated_builder) Build() *NestsUTF8Validated {
+	m0 := &NestsUTF8Validated{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_ValidatedMessage = b.ValidatedMessage
+	return m0
+}
+
+// Message contains enum fields.
+type Enums struct {
+	state                         protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_OptEnum            Enum                   `protobuf:"varint,1,opt,name=opt_enum,json=optEnum,enum=hybrid.pbeditions.Enum" json:"opt_enum,omitempty"`
+	xxx_hidden_RptEnum            []Enum                 `protobuf:"varint,2,rep,packed,name=rpt_enum,json=rptEnum,enum=hybrid.pbeditions.Enum" json:"rpt_enum,omitempty"`
+	xxx_hidden_ImplicitEnum       OpenEnum               `protobuf:"varint,5,opt,name=implicit_enum,json=implicitEnum,enum=hybrid.pbeditions.OpenEnum" json:"implicit_enum,omitempty"`
+	xxx_hidden_OptNestedEnum      Enums_NestedEnum       `protobuf:"varint,3,opt,name=opt_nested_enum,json=optNestedEnum,enum=hybrid.pbeditions.Enums_NestedEnum" json:"opt_nested_enum,omitempty"`
+	xxx_hidden_RptNestedEnum      []Enums_NestedEnum     `protobuf:"varint,4,rep,packed,name=rpt_nested_enum,json=rptNestedEnum,enum=hybrid.pbeditions.Enums_NestedEnum" json:"rpt_nested_enum,omitempty"`
+	xxx_hidden_ImplicitNestedEnum Enums_NestedOpenEnum   `protobuf:"varint,6,opt,name=implicit_nested_enum,json=implicitNestedEnum,enum=hybrid.pbeditions.Enums_NestedOpenEnum" json:"implicit_nested_enum,omitempty"`
+	XXX_raceDetectHookData        protoimpl.RaceDetectHookData
+	XXX_presence                  [1]uint32
+	unknownFields                 protoimpl.UnknownFields
+	sizeCache                     protoimpl.SizeCache
+}
+
+func (x *Enums) Reset() {
+	*x = Enums{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Enums) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Enums) ProtoMessage() {}
+
+func (x *Enums) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[4]
+	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 *Enums) GetOptEnum() Enum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 0) {
+			return x.xxx_hidden_OptEnum
+		}
+	}
+	return Enum_ONE
+}
+
+func (x *Enums) GetRptEnum() []Enum {
+	if x != nil {
+		return x.xxx_hidden_RptEnum
+	}
+	return nil
+}
+
+func (x *Enums) GetImplicitEnum() OpenEnum {
+	if x != nil {
+		return x.xxx_hidden_ImplicitEnum
+	}
+	return OpenEnum_UNKNOWN
+}
+
+func (x *Enums) GetOptNestedEnum() Enums_NestedEnum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 3) {
+			return x.xxx_hidden_OptNestedEnum
+		}
+	}
+	return Enums_UNO
+}
+
+func (x *Enums) GetRptNestedEnum() []Enums_NestedEnum {
+	if x != nil {
+		return x.xxx_hidden_RptNestedEnum
+	}
+	return nil
+}
+
+func (x *Enums) GetImplicitNestedEnum() Enums_NestedOpenEnum {
+	if x != nil {
+		return x.xxx_hidden_ImplicitNestedEnum
+	}
+	return Enums_UNKNOWN
+}
+
+func (x *Enums) SetOptEnum(v Enum) {
+	x.xxx_hidden_OptEnum = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6)
+}
+
+func (x *Enums) SetRptEnum(v []Enum) {
+	x.xxx_hidden_RptEnum = v
+}
+
+func (x *Enums) SetImplicitEnum(v OpenEnum) {
+	x.xxx_hidden_ImplicitEnum = v
+}
+
+func (x *Enums) SetOptNestedEnum(v Enums_NestedEnum) {
+	x.xxx_hidden_OptNestedEnum = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 6)
+}
+
+func (x *Enums) SetRptNestedEnum(v []Enums_NestedEnum) {
+	x.xxx_hidden_RptNestedEnum = v
+}
+
+func (x *Enums) SetImplicitNestedEnum(v Enums_NestedOpenEnum) {
+	x.xxx_hidden_ImplicitNestedEnum = v
+}
+
+func (x *Enums) HasOptEnum() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Enums) HasOptNestedEnum() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 3)
+}
+
+func (x *Enums) ClearOptEnum() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_OptEnum = Enum_ONE
+}
+
+func (x *Enums) ClearOptNestedEnum() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3)
+	x.xxx_hidden_OptNestedEnum = Enums_UNO
+}
+
+type Enums_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptEnum            *Enum
+	RptEnum            []Enum
+	ImplicitEnum       OpenEnum
+	OptNestedEnum      *Enums_NestedEnum
+	RptNestedEnum      []Enums_NestedEnum
+	ImplicitNestedEnum Enums_NestedOpenEnum
+}
+
+func (b0 Enums_builder) Build() *Enums {
+	m0 := &Enums{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.OptEnum != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6)
+		x.xxx_hidden_OptEnum = *b.OptEnum
+	}
+	x.xxx_hidden_RptEnum = b.RptEnum
+	x.xxx_hidden_ImplicitEnum = b.ImplicitEnum
+	if b.OptNestedEnum != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 6)
+		x.xxx_hidden_OptNestedEnum = *b.OptNestedEnum
+	}
+	x.xxx_hidden_RptNestedEnum = b.RptNestedEnum
+	x.xxx_hidden_ImplicitNestedEnum = b.ImplicitNestedEnum
+	return m0
+}
+
+// Message contains repeated fields.
+type Repeats struct {
+	state                protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_RptBool   []bool                 `protobuf:"varint,1,rep,packed,name=rpt_bool,json=rptBool" json:"rpt_bool,omitempty"`
+	xxx_hidden_RptInt32  []int32                `protobuf:"varint,2,rep,packed,name=rpt_int32,json=rptInt32" json:"rpt_int32,omitempty"`
+	xxx_hidden_RptInt64  []int64                `protobuf:"varint,3,rep,packed,name=rpt_int64,json=rptInt64" json:"rpt_int64,omitempty"`
+	xxx_hidden_RptUint32 []uint32               `protobuf:"varint,4,rep,packed,name=rpt_uint32,json=rptUint32" json:"rpt_uint32,omitempty"`
+	xxx_hidden_RptUint64 []uint64               `protobuf:"varint,5,rep,packed,name=rpt_uint64,json=rptUint64" json:"rpt_uint64,omitempty"`
+	xxx_hidden_RptFloat  []float32              `protobuf:"fixed32,6,rep,packed,name=rpt_float,json=rptFloat" json:"rpt_float,omitempty"`
+	xxx_hidden_RptDouble []float64              `protobuf:"fixed64,7,rep,packed,name=rpt_double,json=rptDouble" json:"rpt_double,omitempty"`
+	xxx_hidden_RptString []string               `protobuf:"bytes,8,rep,name=rpt_string,json=rptString" json:"rpt_string,omitempty"`
+	xxx_hidden_RptBytes  [][]byte               `protobuf:"bytes,9,rep,name=rpt_bytes,json=rptBytes" json:"rpt_bytes,omitempty"`
+	unknownFields        protoimpl.UnknownFields
+	sizeCache            protoimpl.SizeCache
+}
+
+func (x *Repeats) Reset() {
+	*x = Repeats{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Repeats) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Repeats) ProtoMessage() {}
+
+func (x *Repeats) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[5]
+	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 *Repeats) GetRptBool() []bool {
+	if x != nil {
+		return x.xxx_hidden_RptBool
+	}
+	return nil
+}
+
+func (x *Repeats) GetRptInt32() []int32 {
+	if x != nil {
+		return x.xxx_hidden_RptInt32
+	}
+	return nil
+}
+
+func (x *Repeats) GetRptInt64() []int64 {
+	if x != nil {
+		return x.xxx_hidden_RptInt64
+	}
+	return nil
+}
+
+func (x *Repeats) GetRptUint32() []uint32 {
+	if x != nil {
+		return x.xxx_hidden_RptUint32
+	}
+	return nil
+}
+
+func (x *Repeats) GetRptUint64() []uint64 {
+	if x != nil {
+		return x.xxx_hidden_RptUint64
+	}
+	return nil
+}
+
+func (x *Repeats) GetRptFloat() []float32 {
+	if x != nil {
+		return x.xxx_hidden_RptFloat
+	}
+	return nil
+}
+
+func (x *Repeats) GetRptDouble() []float64 {
+	if x != nil {
+		return x.xxx_hidden_RptDouble
+	}
+	return nil
+}
+
+func (x *Repeats) GetRptString() []string {
+	if x != nil {
+		return x.xxx_hidden_RptString
+	}
+	return nil
+}
+
+func (x *Repeats) GetRptBytes() [][]byte {
+	if x != nil {
+		return x.xxx_hidden_RptBytes
+	}
+	return nil
+}
+
+func (x *Repeats) SetRptBool(v []bool) {
+	x.xxx_hidden_RptBool = v
+}
+
+func (x *Repeats) SetRptInt32(v []int32) {
+	x.xxx_hidden_RptInt32 = v
+}
+
+func (x *Repeats) SetRptInt64(v []int64) {
+	x.xxx_hidden_RptInt64 = v
+}
+
+func (x *Repeats) SetRptUint32(v []uint32) {
+	x.xxx_hidden_RptUint32 = v
+}
+
+func (x *Repeats) SetRptUint64(v []uint64) {
+	x.xxx_hidden_RptUint64 = v
+}
+
+func (x *Repeats) SetRptFloat(v []float32) {
+	x.xxx_hidden_RptFloat = v
+}
+
+func (x *Repeats) SetRptDouble(v []float64) {
+	x.xxx_hidden_RptDouble = v
+}
+
+func (x *Repeats) SetRptString(v []string) {
+	x.xxx_hidden_RptString = v
+}
+
+func (x *Repeats) SetRptBytes(v [][]byte) {
+	x.xxx_hidden_RptBytes = v
+}
+
+type Repeats_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	RptBool   []bool
+	RptInt32  []int32
+	RptInt64  []int64
+	RptUint32 []uint32
+	RptUint64 []uint64
+	RptFloat  []float32
+	RptDouble []float64
+	RptString []string
+	RptBytes  [][]byte
+}
+
+func (b0 Repeats_builder) Build() *Repeats {
+	m0 := &Repeats{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_RptBool = b.RptBool
+	x.xxx_hidden_RptInt32 = b.RptInt32
+	x.xxx_hidden_RptInt64 = b.RptInt64
+	x.xxx_hidden_RptUint32 = b.RptUint32
+	x.xxx_hidden_RptUint64 = b.RptUint64
+	x.xxx_hidden_RptFloat = b.RptFloat
+	x.xxx_hidden_RptDouble = b.RptDouble
+	x.xxx_hidden_RptString = b.RptString
+	x.xxx_hidden_RptBytes = b.RptBytes
+	return m0
+}
+
+// Message contains map fields.
+type Maps struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_Int32ToStr  map[int32]string       `protobuf:"bytes,1,rep,name=int32_to_str,json=int32ToStr" json:"int32_to_str,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	xxx_hidden_StrToNested map[string]*Nested     `protobuf:"bytes,4,rep,name=str_to_nested,json=strToNested" json:"str_to_nested,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Maps) Reset() {
+	*x = Maps{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Maps) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Maps) ProtoMessage() {}
+
+func (x *Maps) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[6]
+	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 *Maps) GetInt32ToStr() map[int32]string {
+	if x != nil {
+		return x.xxx_hidden_Int32ToStr
+	}
+	return nil
+}
+
+func (x *Maps) GetStrToNested() map[string]*Nested {
+	if x != nil {
+		return x.xxx_hidden_StrToNested
+	}
+	return nil
+}
+
+func (x *Maps) SetInt32ToStr(v map[int32]string) {
+	x.xxx_hidden_Int32ToStr = v
+}
+
+func (x *Maps) SetStrToNested(v map[string]*Nested) {
+	x.xxx_hidden_StrToNested = v
+}
+
+type Maps_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	Int32ToStr  map[int32]string
+	StrToNested map[string]*Nested
+}
+
+func (b0 Maps_builder) Build() *Maps {
+	m0 := &Maps{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_Int32ToStr = b.Int32ToStr
+	x.xxx_hidden_StrToNested = b.StrToNested
+	return m0
+}
+
+// Message type used as submessage.
+type Nested struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_OptString   *string                `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+	xxx_hidden_OptNested   *Nested                `protobuf:"bytes,2,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Nested) Reset() {
+	*x = Nested{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Nested) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Nested) ProtoMessage() {}
+
+func (x *Nested) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[7]
+	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 *Nested) GetOptString() string {
+	if x != nil {
+		if x.xxx_hidden_OptString != nil {
+			return *x.xxx_hidden_OptString
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *Nested) GetOptNested() *Nested {
+	if x != nil {
+		return x.xxx_hidden_OptNested
+	}
+	return nil
+}
+
+func (x *Nested) SetOptString(v string) {
+	x.xxx_hidden_OptString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *Nested) SetOptNested(v *Nested) {
+	x.xxx_hidden_OptNested = v
+}
+
+func (x *Nested) HasOptString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Nested) HasOptNested() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptNested != nil
+}
+
+func (x *Nested) ClearOptString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_OptString = nil
+}
+
+func (x *Nested) ClearOptNested() {
+	x.xxx_hidden_OptNested = nil
+}
+
+type Nested_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptString *string
+	OptNested *Nested
+}
+
+func (b0 Nested_builder) Build() *Nested {
+	m0 := &Nested{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.OptString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_OptString = b.OptString
+	}
+	x.xxx_hidden_OptNested = b.OptNested
+	return m0
+}
+
+// Message contains message and group fields.
+type Nests struct {
+	state                     protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_OptNested      *Nested                `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
+	xxx_hidden_Optgroup       *Nests_OptGroup        `protobuf:"group,2,opt,name=OptGroup,json=optgroup" json:"optgroup,omitempty"`
+	xxx_hidden_DelimitedField *Nests_OptGroup        `protobuf:"group,3,opt,name=OptGroup,json=delimitedField" json:"delimited_field,omitempty"`
+	xxx_hidden_RptNested      *[]*Nested             `protobuf:"bytes,4,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"`
+	xxx_hidden_Rptgroup       *[]*Nests_RptGroup     `protobuf:"group,5,rep,name=RptGroup,json=rptgroup" json:"rptgroup,omitempty"`
+	unknownFields             protoimpl.UnknownFields
+	sizeCache                 protoimpl.SizeCache
+}
+
+func (x *Nests) Reset() {
+	*x = Nests{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Nests) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Nests) ProtoMessage() {}
+
+func (x *Nests) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[8]
+	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 *Nests) GetOptNested() *Nested {
+	if x != nil {
+		return x.xxx_hidden_OptNested
+	}
+	return nil
+}
+
+func (x *Nests) GetOptgroup() *Nests_OptGroup {
+	if x != nil {
+		return x.xxx_hidden_Optgroup
+	}
+	return nil
+}
+
+func (x *Nests) GetDelimitedField() *Nests_OptGroup {
+	if x != nil {
+		return x.xxx_hidden_DelimitedField
+	}
+	return nil
+}
+
+func (x *Nests) GetRptNested() []*Nested {
+	if x != nil {
+		if x.xxx_hidden_RptNested != nil {
+			return *x.xxx_hidden_RptNested
+		}
+	}
+	return nil
+}
+
+func (x *Nests) GetRptgroup() []*Nests_RptGroup {
+	if x != nil {
+		if x.xxx_hidden_Rptgroup != nil {
+			return *x.xxx_hidden_Rptgroup
+		}
+	}
+	return nil
+}
+
+func (x *Nests) SetOptNested(v *Nested) {
+	x.xxx_hidden_OptNested = v
+}
+
+func (x *Nests) SetOptgroup(v *Nests_OptGroup) {
+	x.xxx_hidden_Optgroup = v
+}
+
+func (x *Nests) SetDelimitedField(v *Nests_OptGroup) {
+	x.xxx_hidden_DelimitedField = v
+}
+
+func (x *Nests) SetRptNested(v []*Nested) {
+	x.xxx_hidden_RptNested = &v
+}
+
+func (x *Nests) SetRptgroup(v []*Nests_RptGroup) {
+	x.xxx_hidden_Rptgroup = &v
+}
+
+func (x *Nests) HasOptNested() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptNested != nil
+}
+
+func (x *Nests) HasOptgroup() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Optgroup != nil
+}
+
+func (x *Nests) HasDelimitedField() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_DelimitedField != nil
+}
+
+func (x *Nests) ClearOptNested() {
+	x.xxx_hidden_OptNested = nil
+}
+
+func (x *Nests) ClearOptgroup() {
+	x.xxx_hidden_Optgroup = nil
+}
+
+func (x *Nests) ClearDelimitedField() {
+	x.xxx_hidden_DelimitedField = nil
+}
+
+type Nests_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptNested      *Nested
+	Optgroup       *Nests_OptGroup
+	DelimitedField *Nests_OptGroup
+	RptNested      []*Nested
+	Rptgroup       []*Nests_RptGroup
+}
+
+func (b0 Nests_builder) Build() *Nests {
+	m0 := &Nests{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_OptNested = b.OptNested
+	x.xxx_hidden_Optgroup = b.Optgroup
+	x.xxx_hidden_DelimitedField = b.DelimitedField
+	x.xxx_hidden_RptNested = &b.RptNested
+	x.xxx_hidden_Rptgroup = &b.Rptgroup
+	return m0
+}
+
+// Message contains required fields.
+type Requireds struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_ReqBool     bool                   `protobuf:"varint,1,req,name=req_bool,json=reqBool" json:"req_bool,omitempty"`
+	xxx_hidden_ReqSfixed64 int64                  `protobuf:"fixed64,2,req,name=req_sfixed64,json=reqSfixed64" json:"req_sfixed64,omitempty"`
+	xxx_hidden_ReqDouble   float64                `protobuf:"fixed64,3,req,name=req_double,json=reqDouble" json:"req_double,omitempty"`
+	xxx_hidden_ReqString   *string                `protobuf:"bytes,4,req,name=req_string,json=reqString" json:"req_string,omitempty"`
+	xxx_hidden_ReqEnum     Enum                   `protobuf:"varint,5,req,name=req_enum,json=reqEnum,enum=hybrid.pbeditions.Enum" json:"req_enum,omitempty"`
+	xxx_hidden_ReqNested   *Nested                `protobuf:"bytes,6,req,name=req_nested,json=reqNested" json:"req_nested,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Requireds) Reset() {
+	*x = Requireds{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Requireds) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Requireds) ProtoMessage() {}
+
+func (x *Requireds) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[9]
+	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 *Requireds) GetReqBool() bool {
+	if x != nil {
+		return x.xxx_hidden_ReqBool
+	}
+	return false
+}
+
+func (x *Requireds) GetReqSfixed64() int64 {
+	if x != nil {
+		return x.xxx_hidden_ReqSfixed64
+	}
+	return 0
+}
+
+func (x *Requireds) GetReqDouble() float64 {
+	if x != nil {
+		return x.xxx_hidden_ReqDouble
+	}
+	return 0
+}
+
+func (x *Requireds) GetReqString() string {
+	if x != nil {
+		if x.xxx_hidden_ReqString != nil {
+			return *x.xxx_hidden_ReqString
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *Requireds) GetReqEnum() Enum {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 4) {
+			return x.xxx_hidden_ReqEnum
+		}
+	}
+	return Enum_ONE
+}
+
+func (x *Requireds) GetReqNested() *Nested {
+	if x != nil {
+		return x.xxx_hidden_ReqNested
+	}
+	return nil
+}
+
+func (x *Requireds) SetReqBool(v bool) {
+	x.xxx_hidden_ReqBool = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6)
+}
+
+func (x *Requireds) SetReqSfixed64(v int64) {
+	x.xxx_hidden_ReqSfixed64 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 6)
+}
+
+func (x *Requireds) SetReqDouble(v float64) {
+	x.xxx_hidden_ReqDouble = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 6)
+}
+
+func (x *Requireds) SetReqString(v string) {
+	x.xxx_hidden_ReqString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 6)
+}
+
+func (x *Requireds) SetReqEnum(v Enum) {
+	x.xxx_hidden_ReqEnum = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 6)
+}
+
+func (x *Requireds) SetReqNested(v *Nested) {
+	x.xxx_hidden_ReqNested = v
+}
+
+func (x *Requireds) HasReqBool() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Requireds) HasReqSfixed64() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *Requireds) HasReqDouble() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *Requireds) HasReqString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 3)
+}
+
+func (x *Requireds) HasReqEnum() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 4)
+}
+
+func (x *Requireds) HasReqNested() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_ReqNested != nil
+}
+
+func (x *Requireds) ClearReqBool() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_ReqBool = false
+}
+
+func (x *Requireds) ClearReqSfixed64() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_ReqSfixed64 = 0
+}
+
+func (x *Requireds) ClearReqDouble() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_ReqDouble = 0
+}
+
+func (x *Requireds) ClearReqString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3)
+	x.xxx_hidden_ReqString = nil
+}
+
+func (x *Requireds) ClearReqEnum() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4)
+	x.xxx_hidden_ReqEnum = Enum_ONE
+}
+
+func (x *Requireds) ClearReqNested() {
+	x.xxx_hidden_ReqNested = nil
+}
+
+type Requireds_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	ReqBool     *bool
+	ReqSfixed64 *int64
+	ReqDouble   *float64
+	ReqString   *string
+	ReqEnum     *Enum
+	ReqNested   *Nested
+}
+
+func (b0 Requireds_builder) Build() *Requireds {
+	m0 := &Requireds{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.ReqBool != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6)
+		x.xxx_hidden_ReqBool = *b.ReqBool
+	}
+	if b.ReqSfixed64 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 6)
+		x.xxx_hidden_ReqSfixed64 = *b.ReqSfixed64
+	}
+	if b.ReqDouble != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 6)
+		x.xxx_hidden_ReqDouble = *b.ReqDouble
+	}
+	if b.ReqString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 6)
+		x.xxx_hidden_ReqString = b.ReqString
+	}
+	if b.ReqEnum != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 6)
+		x.xxx_hidden_ReqEnum = *b.ReqEnum
+	}
+	x.xxx_hidden_ReqNested = b.ReqNested
+	return m0
+}
+
+// Message contains both required and optional fields.
+type PartialRequired struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_ReqString   *string                `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"`
+	xxx_hidden_OptString   *string                `protobuf:"bytes,2,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *PartialRequired) Reset() {
+	*x = PartialRequired{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[10]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *PartialRequired) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PartialRequired) ProtoMessage() {}
+
+func (x *PartialRequired) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[10]
+	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 *PartialRequired) GetReqString() string {
+	if x != nil {
+		if x.xxx_hidden_ReqString != nil {
+			return *x.xxx_hidden_ReqString
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *PartialRequired) GetOptString() string {
+	if x != nil {
+		if x.xxx_hidden_OptString != nil {
+			return *x.xxx_hidden_OptString
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *PartialRequired) SetReqString(v string) {
+	x.xxx_hidden_ReqString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
+}
+
+func (x *PartialRequired) SetOptString(v string) {
+	x.xxx_hidden_OptString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
+}
+
+func (x *PartialRequired) HasReqString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *PartialRequired) HasOptString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *PartialRequired) ClearReqString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_ReqString = nil
+}
+
+func (x *PartialRequired) ClearOptString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_OptString = nil
+}
+
+type PartialRequired_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	ReqString *string
+	OptString *string
+}
+
+func (b0 PartialRequired_builder) Build() *PartialRequired {
+	m0 := &PartialRequired{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.ReqString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
+		x.xxx_hidden_ReqString = b.ReqString
+	}
+	if b.OptString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
+		x.xxx_hidden_OptString = b.OptString
+	}
+	return m0
+}
+
+type NestedWithRequired struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_ReqString   *string                `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *NestedWithRequired) Reset() {
+	*x = NestedWithRequired{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[11]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *NestedWithRequired) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NestedWithRequired) ProtoMessage() {}
+
+func (x *NestedWithRequired) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[11]
+	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 *NestedWithRequired) GetReqString() string {
+	if x != nil {
+		if x.xxx_hidden_ReqString != nil {
+			return *x.xxx_hidden_ReqString
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *NestedWithRequired) SetReqString(v string) {
+	x.xxx_hidden_ReqString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *NestedWithRequired) HasReqString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *NestedWithRequired) ClearReqString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_ReqString = nil
+}
+
+type NestedWithRequired_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	ReqString *string
+}
+
+func (b0 NestedWithRequired_builder) Build() *NestedWithRequired {
+	m0 := &NestedWithRequired{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.ReqString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_ReqString = b.ReqString
+	}
+	return m0
+}
+
+type IndirectRequired struct {
+	state                  protoimpl.MessageState         `protogen:"opaque.v1"`
+	xxx_hidden_OptNested   *NestedWithRequired            `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
+	xxx_hidden_RptNested   *[]*NestedWithRequired         `protobuf:"bytes,2,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"`
+	xxx_hidden_StrToNested map[string]*NestedWithRequired `protobuf:"bytes,3,rep,name=str_to_nested,json=strToNested" json:"str_to_nested,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	xxx_hidden_Union       isIndirectRequired_Union       `protobuf_oneof:"union"`
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *IndirectRequired) Reset() {
+	*x = IndirectRequired{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[12]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *IndirectRequired) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IndirectRequired) ProtoMessage() {}
+
+func (x *IndirectRequired) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[12]
+	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 *IndirectRequired) GetOptNested() *NestedWithRequired {
+	if x != nil {
+		return x.xxx_hidden_OptNested
+	}
+	return nil
+}
+
+func (x *IndirectRequired) GetRptNested() []*NestedWithRequired {
+	if x != nil {
+		if x.xxx_hidden_RptNested != nil {
+			return *x.xxx_hidden_RptNested
+		}
+	}
+	return nil
+}
+
+func (x *IndirectRequired) GetStrToNested() map[string]*NestedWithRequired {
+	if x != nil {
+		return x.xxx_hidden_StrToNested
+	}
+	return nil
+}
+
+func (x *IndirectRequired) GetOneofNested() *NestedWithRequired {
+	if x != nil {
+		if x, ok := x.xxx_hidden_Union.(*indirectRequired_OneofNested); ok {
+			return x.OneofNested
+		}
+	}
+	return nil
+}
+
+func (x *IndirectRequired) SetOptNested(v *NestedWithRequired) {
+	x.xxx_hidden_OptNested = v
+}
+
+func (x *IndirectRequired) SetRptNested(v []*NestedWithRequired) {
+	x.xxx_hidden_RptNested = &v
+}
+
+func (x *IndirectRequired) SetStrToNested(v map[string]*NestedWithRequired) {
+	x.xxx_hidden_StrToNested = v
+}
+
+func (x *IndirectRequired) SetOneofNested(v *NestedWithRequired) {
+	if v == nil {
+		x.xxx_hidden_Union = nil
+		return
+	}
+	x.xxx_hidden_Union = &indirectRequired_OneofNested{v}
+}
+
+func (x *IndirectRequired) HasOptNested() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptNested != nil
+}
+
+func (x *IndirectRequired) HasUnion() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Union != nil
+}
+
+func (x *IndirectRequired) HasOneofNested() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.xxx_hidden_Union.(*indirectRequired_OneofNested)
+	return ok
+}
+
+func (x *IndirectRequired) ClearOptNested() {
+	x.xxx_hidden_OptNested = nil
+}
+
+func (x *IndirectRequired) ClearUnion() {
+	x.xxx_hidden_Union = nil
+}
+
+func (x *IndirectRequired) ClearOneofNested() {
+	if _, ok := x.xxx_hidden_Union.(*indirectRequired_OneofNested); ok {
+		x.xxx_hidden_Union = nil
+	}
+}
+
+const IndirectRequired_Union_not_set_case case_IndirectRequired_Union = 0
+const IndirectRequired_OneofNested_case case_IndirectRequired_Union = 4
+
+func (x *IndirectRequired) WhichUnion() case_IndirectRequired_Union {
+	if x == nil {
+		return IndirectRequired_Union_not_set_case
+	}
+	switch x.xxx_hidden_Union.(type) {
+	case *indirectRequired_OneofNested:
+		return IndirectRequired_OneofNested_case
+	default:
+		return IndirectRequired_Union_not_set_case
+	}
+}
+
+type IndirectRequired_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptNested   *NestedWithRequired
+	RptNested   []*NestedWithRequired
+	StrToNested map[string]*NestedWithRequired
+	// Fields of oneof xxx_hidden_Union:
+	OneofNested *NestedWithRequired
+	// -- end of xxx_hidden_Union
+}
+
+func (b0 IndirectRequired_builder) Build() *IndirectRequired {
+	m0 := &IndirectRequired{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_OptNested = b.OptNested
+	x.xxx_hidden_RptNested = &b.RptNested
+	x.xxx_hidden_StrToNested = b.StrToNested
+	if b.OneofNested != nil {
+		x.xxx_hidden_Union = &indirectRequired_OneofNested{b.OneofNested}
+	}
+	return m0
+}
+
+type case_IndirectRequired_Union protoreflect.FieldNumber
+
+func (x case_IndirectRequired_Union) String() string {
+	md := file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[12].Descriptor()
+	if x == 0 {
+		return "not set"
+	}
+	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
+}
+
+type isIndirectRequired_Union interface {
+	isIndirectRequired_Union()
+}
+
+type indirectRequired_OneofNested struct {
+	OneofNested *NestedWithRequired `protobuf:"bytes,4,opt,name=oneof_nested,json=oneofNested,oneof"`
+}
+
+func (*indirectRequired_OneofNested) isIndirectRequired_Union() {}
+
+type Extensions struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_OptString   *string                `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+	xxx_hidden_OptBool     bool                   `protobuf:"varint,101,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
+	xxx_hidden_OptInt32    int32                  `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	extensionFields        protoimpl.ExtensionFields
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Extensions) Reset() {
+	*x = Extensions{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[13]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Extensions) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Extensions) ProtoMessage() {}
+
+func (x *Extensions) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[13]
+	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 *Extensions) GetOptString() string {
+	if x != nil {
+		if x.xxx_hidden_OptString != nil {
+			return *x.xxx_hidden_OptString
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *Extensions) GetOptBool() bool {
+	if x != nil {
+		return x.xxx_hidden_OptBool
+	}
+	return false
+}
+
+func (x *Extensions) GetOptInt32() int32 {
+	if x != nil {
+		return x.xxx_hidden_OptInt32
+	}
+	return 0
+}
+
+func (x *Extensions) SetOptString(v string) {
+	x.xxx_hidden_OptString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3)
+}
+
+func (x *Extensions) SetOptBool(v bool) {
+	x.xxx_hidden_OptBool = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3)
+}
+
+func (x *Extensions) SetOptInt32(v int32) {
+	x.xxx_hidden_OptInt32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
+}
+
+func (x *Extensions) HasOptString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Extensions) HasOptBool() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
+}
+
+func (x *Extensions) HasOptInt32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
+}
+
+func (x *Extensions) ClearOptString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_OptString = nil
+}
+
+func (x *Extensions) ClearOptBool() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
+	x.xxx_hidden_OptBool = false
+}
+
+func (x *Extensions) ClearOptInt32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
+	x.xxx_hidden_OptInt32 = 0
+}
+
+type Extensions_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptString *string
+	OptBool   *bool
+	OptInt32  *int32
+}
+
+func (b0 Extensions_builder) Build() *Extensions {
+	m0 := &Extensions{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.OptString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3)
+		x.xxx_hidden_OptString = b.OptString
+	}
+	if b.OptBool != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3)
+		x.xxx_hidden_OptBool = *b.OptBool
+	}
+	if b.OptInt32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
+		x.xxx_hidden_OptInt32 = *b.OptInt32
+	}
+	return m0
+}
+
+type ExtensionsContainer struct {
+	state         protoimpl.MessageState `protogen:"opaque.v1"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *ExtensionsContainer) Reset() {
+	*x = ExtensionsContainer{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[14]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ExtensionsContainer) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExtensionsContainer) ProtoMessage() {}
+
+func (x *ExtensionsContainer) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[14]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+type ExtensionsContainer_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 ExtensionsContainer_builder) Build() *ExtensionsContainer {
+	m0 := &ExtensionsContainer{}
+	b, x := &b0, m0
+	_, _ = b, x
+	return m0
+}
+
+type MessageSet struct {
+	state           protoimpl.MessageState `protogen:"opaque.v1"`
+	extensionFields protoimpl.ExtensionFields
+	unknownFields   protoimpl.UnknownFields
+	sizeCache       protoimpl.SizeCache
+}
+
+func (x *MessageSet) Reset() {
+	*x = MessageSet{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[15]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MessageSet) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MessageSet) ProtoMessage() {}
+
+func (x *MessageSet) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[15]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+type MessageSet_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 MessageSet_builder) Build() *MessageSet {
+	m0 := &MessageSet{}
+	b, x := &b0, m0
+	_, _ = b, x
+	return m0
+}
+
+type MessageSetExtension struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_OptString   *string                `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *MessageSetExtension) Reset() {
+	*x = MessageSetExtension{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[16]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MessageSetExtension) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MessageSetExtension) ProtoMessage() {}
+
+func (x *MessageSetExtension) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[16]
+	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 *MessageSetExtension) GetOptString() string {
+	if x != nil {
+		if x.xxx_hidden_OptString != nil {
+			return *x.xxx_hidden_OptString
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *MessageSetExtension) SetOptString(v string) {
+	x.xxx_hidden_OptString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *MessageSetExtension) HasOptString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *MessageSetExtension) ClearOptString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_OptString = nil
+}
+
+type MessageSetExtension_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptString *string
+}
+
+func (b0 MessageSetExtension_builder) Build() *MessageSetExtension {
+	m0 := &MessageSetExtension{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.OptString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_OptString = b.OptString
+	}
+	return m0
+}
+
+type FakeMessageSet struct {
+	state           protoimpl.MessageState `protogen:"opaque.v1"`
+	extensionFields protoimpl.ExtensionFields
+	unknownFields   protoimpl.UnknownFields
+	sizeCache       protoimpl.SizeCache
+}
+
+func (x *FakeMessageSet) Reset() {
+	*x = FakeMessageSet{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[17]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *FakeMessageSet) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FakeMessageSet) ProtoMessage() {}
+
+func (x *FakeMessageSet) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[17]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+type FakeMessageSet_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+}
+
+func (b0 FakeMessageSet_builder) Build() *FakeMessageSet {
+	m0 := &FakeMessageSet{}
+	b, x := &b0, m0
+	_, _ = b, x
+	return m0
+}
+
+type FakeMessageSetExtension struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_OptString   *string                `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *FakeMessageSetExtension) Reset() {
+	*x = FakeMessageSetExtension{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[18]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *FakeMessageSetExtension) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FakeMessageSetExtension) ProtoMessage() {}
+
+func (x *FakeMessageSetExtension) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[18]
+	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 *FakeMessageSetExtension) GetOptString() string {
+	if x != nil {
+		if x.xxx_hidden_OptString != nil {
+			return *x.xxx_hidden_OptString
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *FakeMessageSetExtension) SetOptString(v string) {
+	x.xxx_hidden_OptString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *FakeMessageSetExtension) HasOptString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *FakeMessageSetExtension) ClearOptString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_OptString = nil
+}
+
+type FakeMessageSetExtension_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptString *string
+}
+
+func (b0 FakeMessageSetExtension_builder) Build() *FakeMessageSetExtension {
+	m0 := &FakeMessageSetExtension{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.OptString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_OptString = b.OptString
+	}
+	return m0
+}
+
+// Message contains well-known type fields.
+type KnownTypes struct {
+	state                   protoimpl.MessageState  `protogen:"opaque.v1"`
+	xxx_hidden_OptBool      *wrapperspb.BoolValue   `protobuf:"bytes,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
+	xxx_hidden_OptInt32     *wrapperspb.Int32Value  `protobuf:"bytes,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
+	xxx_hidden_OptInt64     *wrapperspb.Int64Value  `protobuf:"bytes,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"`
+	xxx_hidden_OptUint32    *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=opt_uint32,json=optUint32" json:"opt_uint32,omitempty"`
+	xxx_hidden_OptUint64    *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=opt_uint64,json=optUint64" json:"opt_uint64,omitempty"`
+	xxx_hidden_OptFloat     *wrapperspb.FloatValue  `protobuf:"bytes,6,opt,name=opt_float,json=optFloat" json:"opt_float,omitempty"`
+	xxx_hidden_OptDouble    *wrapperspb.DoubleValue `protobuf:"bytes,7,opt,name=opt_double,json=optDouble" json:"opt_double,omitempty"`
+	xxx_hidden_OptString    *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+	xxx_hidden_OptBytes     *wrapperspb.BytesValue  `protobuf:"bytes,9,opt,name=opt_bytes,json=optBytes" json:"opt_bytes,omitempty"`
+	xxx_hidden_OptDuration  *durationpb.Duration    `protobuf:"bytes,20,opt,name=opt_duration,json=optDuration" json:"opt_duration,omitempty"`
+	xxx_hidden_OptTimestamp *timestamppb.Timestamp  `protobuf:"bytes,21,opt,name=opt_timestamp,json=optTimestamp" json:"opt_timestamp,omitempty"`
+	xxx_hidden_OptStruct    *structpb.Struct        `protobuf:"bytes,25,opt,name=opt_struct,json=optStruct" json:"opt_struct,omitempty"`
+	xxx_hidden_OptList      *structpb.ListValue     `protobuf:"bytes,26,opt,name=opt_list,json=optList" json:"opt_list,omitempty"`
+	xxx_hidden_OptValue     *structpb.Value         `protobuf:"bytes,27,opt,name=opt_value,json=optValue" json:"opt_value,omitempty"`
+	xxx_hidden_OptNull      structpb.NullValue      `protobuf:"varint,28,opt,name=opt_null,json=optNull,enum=google.protobuf.NullValue" json:"opt_null,omitempty"`
+	xxx_hidden_OptEmpty     *emptypb.Empty          `protobuf:"bytes,30,opt,name=opt_empty,json=optEmpty" json:"opt_empty,omitempty"`
+	xxx_hidden_OptAny       *anypb.Any              `protobuf:"bytes,32,opt,name=opt_any,json=optAny" json:"opt_any,omitempty"`
+	xxx_hidden_OptFieldmask *fieldmaskpb.FieldMask  `protobuf:"bytes,40,opt,name=opt_fieldmask,json=optFieldmask" json:"opt_fieldmask,omitempty"`
+	XXX_raceDetectHookData  protoimpl.RaceDetectHookData
+	XXX_presence            [1]uint32
+	unknownFields           protoimpl.UnknownFields
+	sizeCache               protoimpl.SizeCache
+}
+
+func (x *KnownTypes) Reset() {
+	*x = KnownTypes{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[19]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *KnownTypes) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*KnownTypes) ProtoMessage() {}
+
+func (x *KnownTypes) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[19]
+	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 *KnownTypes) GetOptBool() *wrapperspb.BoolValue {
+	if x != nil {
+		return x.xxx_hidden_OptBool
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptInt32() *wrapperspb.Int32Value {
+	if x != nil {
+		return x.xxx_hidden_OptInt32
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptInt64() *wrapperspb.Int64Value {
+	if x != nil {
+		return x.xxx_hidden_OptInt64
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptUint32() *wrapperspb.UInt32Value {
+	if x != nil {
+		return x.xxx_hidden_OptUint32
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptUint64() *wrapperspb.UInt64Value {
+	if x != nil {
+		return x.xxx_hidden_OptUint64
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptFloat() *wrapperspb.FloatValue {
+	if x != nil {
+		return x.xxx_hidden_OptFloat
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptDouble() *wrapperspb.DoubleValue {
+	if x != nil {
+		return x.xxx_hidden_OptDouble
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptString() *wrapperspb.StringValue {
+	if x != nil {
+		return x.xxx_hidden_OptString
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptBytes() *wrapperspb.BytesValue {
+	if x != nil {
+		return x.xxx_hidden_OptBytes
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptDuration() *durationpb.Duration {
+	if x != nil {
+		return x.xxx_hidden_OptDuration
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptTimestamp() *timestamppb.Timestamp {
+	if x != nil {
+		return x.xxx_hidden_OptTimestamp
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptStruct() *structpb.Struct {
+	if x != nil {
+		return x.xxx_hidden_OptStruct
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptList() *structpb.ListValue {
+	if x != nil {
+		return x.xxx_hidden_OptList
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptValue() *structpb.Value {
+	if x != nil {
+		return x.xxx_hidden_OptValue
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptNull() structpb.NullValue {
+	if x != nil {
+		if protoimpl.X.Present(&(x.XXX_presence[0]), 14) {
+			return x.xxx_hidden_OptNull
+		}
+	}
+	return structpb.NullValue(0)
+}
+
+func (x *KnownTypes) GetOptEmpty() *emptypb.Empty {
+	if x != nil {
+		return x.xxx_hidden_OptEmpty
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptAny() *anypb.Any {
+	if x != nil {
+		return x.xxx_hidden_OptAny
+	}
+	return nil
+}
+
+func (x *KnownTypes) GetOptFieldmask() *fieldmaskpb.FieldMask {
+	if x != nil {
+		return x.xxx_hidden_OptFieldmask
+	}
+	return nil
+}
+
+func (x *KnownTypes) SetOptBool(v *wrapperspb.BoolValue) {
+	x.xxx_hidden_OptBool = v
+}
+
+func (x *KnownTypes) SetOptInt32(v *wrapperspb.Int32Value) {
+	x.xxx_hidden_OptInt32 = v
+}
+
+func (x *KnownTypes) SetOptInt64(v *wrapperspb.Int64Value) {
+	x.xxx_hidden_OptInt64 = v
+}
+
+func (x *KnownTypes) SetOptUint32(v *wrapperspb.UInt32Value) {
+	x.xxx_hidden_OptUint32 = v
+}
+
+func (x *KnownTypes) SetOptUint64(v *wrapperspb.UInt64Value) {
+	x.xxx_hidden_OptUint64 = v
+}
+
+func (x *KnownTypes) SetOptFloat(v *wrapperspb.FloatValue) {
+	x.xxx_hidden_OptFloat = v
+}
+
+func (x *KnownTypes) SetOptDouble(v *wrapperspb.DoubleValue) {
+	x.xxx_hidden_OptDouble = v
+}
+
+func (x *KnownTypes) SetOptString(v *wrapperspb.StringValue) {
+	x.xxx_hidden_OptString = v
+}
+
+func (x *KnownTypes) SetOptBytes(v *wrapperspb.BytesValue) {
+	x.xxx_hidden_OptBytes = v
+}
+
+func (x *KnownTypes) SetOptDuration(v *durationpb.Duration) {
+	x.xxx_hidden_OptDuration = v
+}
+
+func (x *KnownTypes) SetOptTimestamp(v *timestamppb.Timestamp) {
+	x.xxx_hidden_OptTimestamp = v
+}
+
+func (x *KnownTypes) SetOptStruct(v *structpb.Struct) {
+	x.xxx_hidden_OptStruct = v
+}
+
+func (x *KnownTypes) SetOptList(v *structpb.ListValue) {
+	x.xxx_hidden_OptList = v
+}
+
+func (x *KnownTypes) SetOptValue(v *structpb.Value) {
+	x.xxx_hidden_OptValue = v
+}
+
+func (x *KnownTypes) SetOptNull(v structpb.NullValue) {
+	x.xxx_hidden_OptNull = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 14, 18)
+}
+
+func (x *KnownTypes) SetOptEmpty(v *emptypb.Empty) {
+	x.xxx_hidden_OptEmpty = v
+}
+
+func (x *KnownTypes) SetOptAny(v *anypb.Any) {
+	x.xxx_hidden_OptAny = v
+}
+
+func (x *KnownTypes) SetOptFieldmask(v *fieldmaskpb.FieldMask) {
+	x.xxx_hidden_OptFieldmask = v
+}
+
+func (x *KnownTypes) HasOptBool() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptBool != nil
+}
+
+func (x *KnownTypes) HasOptInt32() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptInt32 != nil
+}
+
+func (x *KnownTypes) HasOptInt64() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptInt64 != nil
+}
+
+func (x *KnownTypes) HasOptUint32() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptUint32 != nil
+}
+
+func (x *KnownTypes) HasOptUint64() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptUint64 != nil
+}
+
+func (x *KnownTypes) HasOptFloat() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptFloat != nil
+}
+
+func (x *KnownTypes) HasOptDouble() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptDouble != nil
+}
+
+func (x *KnownTypes) HasOptString() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptString != nil
+}
+
+func (x *KnownTypes) HasOptBytes() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptBytes != nil
+}
+
+func (x *KnownTypes) HasOptDuration() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptDuration != nil
+}
+
+func (x *KnownTypes) HasOptTimestamp() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptTimestamp != nil
+}
+
+func (x *KnownTypes) HasOptStruct() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptStruct != nil
+}
+
+func (x *KnownTypes) HasOptList() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptList != nil
+}
+
+func (x *KnownTypes) HasOptValue() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptValue != nil
+}
+
+func (x *KnownTypes) HasOptNull() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 14)
+}
+
+func (x *KnownTypes) HasOptEmpty() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptEmpty != nil
+}
+
+func (x *KnownTypes) HasOptAny() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptAny != nil
+}
+
+func (x *KnownTypes) HasOptFieldmask() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptFieldmask != nil
+}
+
+func (x *KnownTypes) ClearOptBool() {
+	x.xxx_hidden_OptBool = nil
+}
+
+func (x *KnownTypes) ClearOptInt32() {
+	x.xxx_hidden_OptInt32 = nil
+}
+
+func (x *KnownTypes) ClearOptInt64() {
+	x.xxx_hidden_OptInt64 = nil
+}
+
+func (x *KnownTypes) ClearOptUint32() {
+	x.xxx_hidden_OptUint32 = nil
+}
+
+func (x *KnownTypes) ClearOptUint64() {
+	x.xxx_hidden_OptUint64 = nil
+}
+
+func (x *KnownTypes) ClearOptFloat() {
+	x.xxx_hidden_OptFloat = nil
+}
+
+func (x *KnownTypes) ClearOptDouble() {
+	x.xxx_hidden_OptDouble = nil
+}
+
+func (x *KnownTypes) ClearOptString() {
+	x.xxx_hidden_OptString = nil
+}
+
+func (x *KnownTypes) ClearOptBytes() {
+	x.xxx_hidden_OptBytes = nil
+}
+
+func (x *KnownTypes) ClearOptDuration() {
+	x.xxx_hidden_OptDuration = nil
+}
+
+func (x *KnownTypes) ClearOptTimestamp() {
+	x.xxx_hidden_OptTimestamp = nil
+}
+
+func (x *KnownTypes) ClearOptStruct() {
+	x.xxx_hidden_OptStruct = nil
+}
+
+func (x *KnownTypes) ClearOptList() {
+	x.xxx_hidden_OptList = nil
+}
+
+func (x *KnownTypes) ClearOptValue() {
+	x.xxx_hidden_OptValue = nil
+}
+
+func (x *KnownTypes) ClearOptNull() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 14)
+	x.xxx_hidden_OptNull = structpb.NullValue_NULL_VALUE
+}
+
+func (x *KnownTypes) ClearOptEmpty() {
+	x.xxx_hidden_OptEmpty = nil
+}
+
+func (x *KnownTypes) ClearOptAny() {
+	x.xxx_hidden_OptAny = nil
+}
+
+func (x *KnownTypes) ClearOptFieldmask() {
+	x.xxx_hidden_OptFieldmask = nil
+}
+
+type KnownTypes_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptBool      *wrapperspb.BoolValue
+	OptInt32     *wrapperspb.Int32Value
+	OptInt64     *wrapperspb.Int64Value
+	OptUint32    *wrapperspb.UInt32Value
+	OptUint64    *wrapperspb.UInt64Value
+	OptFloat     *wrapperspb.FloatValue
+	OptDouble    *wrapperspb.DoubleValue
+	OptString    *wrapperspb.StringValue
+	OptBytes     *wrapperspb.BytesValue
+	OptDuration  *durationpb.Duration
+	OptTimestamp *timestamppb.Timestamp
+	OptStruct    *structpb.Struct
+	OptList      *structpb.ListValue
+	OptValue     *structpb.Value
+	OptNull      *structpb.NullValue
+	OptEmpty     *emptypb.Empty
+	OptAny       *anypb.Any
+	OptFieldmask *fieldmaskpb.FieldMask
+}
+
+func (b0 KnownTypes_builder) Build() *KnownTypes {
+	m0 := &KnownTypes{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_OptBool = b.OptBool
+	x.xxx_hidden_OptInt32 = b.OptInt32
+	x.xxx_hidden_OptInt64 = b.OptInt64
+	x.xxx_hidden_OptUint32 = b.OptUint32
+	x.xxx_hidden_OptUint64 = b.OptUint64
+	x.xxx_hidden_OptFloat = b.OptFloat
+	x.xxx_hidden_OptDouble = b.OptDouble
+	x.xxx_hidden_OptString = b.OptString
+	x.xxx_hidden_OptBytes = b.OptBytes
+	x.xxx_hidden_OptDuration = b.OptDuration
+	x.xxx_hidden_OptTimestamp = b.OptTimestamp
+	x.xxx_hidden_OptStruct = b.OptStruct
+	x.xxx_hidden_OptList = b.OptList
+	x.xxx_hidden_OptValue = b.OptValue
+	if b.OptNull != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 14, 18)
+		x.xxx_hidden_OptNull = *b.OptNull
+	}
+	x.xxx_hidden_OptEmpty = b.OptEmpty
+	x.xxx_hidden_OptAny = b.OptAny
+	x.xxx_hidden_OptFieldmask = b.OptFieldmask
+	return m0
+}
+
+type Nests_OptGroup struct {
+	state                           protoimpl.MessageState         `protogen:"opaque.v1"`
+	xxx_hidden_OptString            *string                        `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
+	xxx_hidden_OptNested            *Nested                        `protobuf:"bytes,2,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
+	xxx_hidden_Optnestedgroup       *Nests_OptGroup_OptNestedGroup `protobuf:"group,3,opt,name=OptNestedGroup,json=optnestedgroup" json:"optnestedgroup,omitempty"`
+	xxx_hidden_NestedDelimitedField *Nests_OptGroup_OptNestedGroup `protobuf:"group,4,opt,name=OptNestedGroup,json=nestedDelimitedField" json:"nested_delimited_field,omitempty"`
+	XXX_raceDetectHookData          protoimpl.RaceDetectHookData
+	XXX_presence                    [1]uint32
+	unknownFields                   protoimpl.UnknownFields
+	sizeCache                       protoimpl.SizeCache
+}
+
+func (x *Nests_OptGroup) Reset() {
+	*x = Nests_OptGroup{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[22]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Nests_OptGroup) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Nests_OptGroup) ProtoMessage() {}
+
+func (x *Nests_OptGroup) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[22]
+	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 *Nests_OptGroup) GetOptString() string {
+	if x != nil {
+		if x.xxx_hidden_OptString != nil {
+			return *x.xxx_hidden_OptString
+		}
+		return ""
+	}
+	return ""
+}
+
+func (x *Nests_OptGroup) GetOptNested() *Nested {
+	if x != nil {
+		return x.xxx_hidden_OptNested
+	}
+	return nil
+}
+
+func (x *Nests_OptGroup) GetOptnestedgroup() *Nests_OptGroup_OptNestedGroup {
+	if x != nil {
+		return x.xxx_hidden_Optnestedgroup
+	}
+	return nil
+}
+
+func (x *Nests_OptGroup) GetNestedDelimitedField() *Nests_OptGroup_OptNestedGroup {
+	if x != nil {
+		return x.xxx_hidden_NestedDelimitedField
+	}
+	return nil
+}
+
+func (x *Nests_OptGroup) SetOptString(v string) {
+	x.xxx_hidden_OptString = &v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 4)
+}
+
+func (x *Nests_OptGroup) SetOptNested(v *Nested) {
+	x.xxx_hidden_OptNested = v
+}
+
+func (x *Nests_OptGroup) SetOptnestedgroup(v *Nests_OptGroup_OptNestedGroup) {
+	x.xxx_hidden_Optnestedgroup = v
+}
+
+func (x *Nests_OptGroup) SetNestedDelimitedField(v *Nests_OptGroup_OptNestedGroup) {
+	x.xxx_hidden_NestedDelimitedField = v
+}
+
+func (x *Nests_OptGroup) HasOptString() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Nests_OptGroup) HasOptNested() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_OptNested != nil
+}
+
+func (x *Nests_OptGroup) HasOptnestedgroup() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_Optnestedgroup != nil
+}
+
+func (x *Nests_OptGroup) HasNestedDelimitedField() bool {
+	if x == nil {
+		return false
+	}
+	return x.xxx_hidden_NestedDelimitedField != nil
+}
+
+func (x *Nests_OptGroup) ClearOptString() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_OptString = nil
+}
+
+func (x *Nests_OptGroup) ClearOptNested() {
+	x.xxx_hidden_OptNested = nil
+}
+
+func (x *Nests_OptGroup) ClearOptnestedgroup() {
+	x.xxx_hidden_Optnestedgroup = nil
+}
+
+func (x *Nests_OptGroup) ClearNestedDelimitedField() {
+	x.xxx_hidden_NestedDelimitedField = nil
+}
+
+type Nests_OptGroup_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptString            *string
+	OptNested            *Nested
+	Optnestedgroup       *Nests_OptGroup_OptNestedGroup
+	NestedDelimitedField *Nests_OptGroup_OptNestedGroup
+}
+
+func (b0 Nests_OptGroup_builder) Build() *Nests_OptGroup {
+	m0 := &Nests_OptGroup{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.OptString != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 4)
+		x.xxx_hidden_OptString = b.OptString
+	}
+	x.xxx_hidden_OptNested = b.OptNested
+	x.xxx_hidden_Optnestedgroup = b.Optnestedgroup
+	x.xxx_hidden_NestedDelimitedField = b.NestedDelimitedField
+	return m0
+}
+
+type Nests_RptGroup struct {
+	state                protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_RptString []string               `protobuf:"bytes,1,rep,name=rpt_string,json=rptString" json:"rpt_string,omitempty"`
+	unknownFields        protoimpl.UnknownFields
+	sizeCache            protoimpl.SizeCache
+}
+
+func (x *Nests_RptGroup) Reset() {
+	*x = Nests_RptGroup{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[23]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Nests_RptGroup) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Nests_RptGroup) ProtoMessage() {}
+
+func (x *Nests_RptGroup) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[23]
+	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 *Nests_RptGroup) GetRptString() []string {
+	if x != nil {
+		return x.xxx_hidden_RptString
+	}
+	return nil
+}
+
+func (x *Nests_RptGroup) SetRptString(v []string) {
+	x.xxx_hidden_RptString = v
+}
+
+type Nests_RptGroup_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	RptString []string
+}
+
+func (b0 Nests_RptGroup_builder) Build() *Nests_RptGroup {
+	m0 := &Nests_RptGroup{}
+	b, x := &b0, m0
+	_, _ = b, x
+	x.xxx_hidden_RptString = b.RptString
+	return m0
+}
+
+type Nests_OptGroup_OptNestedGroup struct {
+	state                  protoimpl.MessageState `protogen:"opaque.v1"`
+	xxx_hidden_OptFixed32  uint32                 `protobuf:"fixed32,1,opt,name=opt_fixed32,json=optFixed32" json:"opt_fixed32,omitempty"`
+	XXX_raceDetectHookData protoimpl.RaceDetectHookData
+	XXX_presence           [1]uint32
+	unknownFields          protoimpl.UnknownFields
+	sizeCache              protoimpl.SizeCache
+}
+
+func (x *Nests_OptGroup_OptNestedGroup) Reset() {
+	*x = Nests_OptGroup_OptNestedGroup{}
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[24]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Nests_OptGroup_OptNestedGroup) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Nests_OptGroup_OptNestedGroup) ProtoMessage() {}
+
+func (x *Nests_OptGroup_OptNestedGroup) ProtoReflect() protoreflect.Message {
+	mi := &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[24]
+	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 *Nests_OptGroup_OptNestedGroup) GetOptFixed32() uint32 {
+	if x != nil {
+		return x.xxx_hidden_OptFixed32
+	}
+	return 0
+}
+
+func (x *Nests_OptGroup_OptNestedGroup) SetOptFixed32(v uint32) {
+	x.xxx_hidden_OptFixed32 = v
+	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
+}
+
+func (x *Nests_OptGroup_OptNestedGroup) HasOptFixed32() bool {
+	if x == nil {
+		return false
+	}
+	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
+}
+
+func (x *Nests_OptGroup_OptNestedGroup) ClearOptFixed32() {
+	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
+	x.xxx_hidden_OptFixed32 = 0
+}
+
+type Nests_OptGroup_OptNestedGroup_builder struct {
+	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.
+
+	OptFixed32 *uint32
+}
+
+func (b0 Nests_OptGroup_OptNestedGroup_builder) Build() *Nests_OptGroup_OptNestedGroup {
+	m0 := &Nests_OptGroup_OptNestedGroup{}
+	b, x := &b0, m0
+	_, _ = b, x
+	if b.OptFixed32 != nil {
+		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
+		x.xxx_hidden_OptFixed32 = *b.OptFixed32
+	}
+	return m0
+}
+
+var file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes = []protoimpl.ExtensionInfo{
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: (*bool)(nil),
+		Field:         21,
+		Name:          "hybrid.pbeditions.opt_ext_bool",
+		Tag:           "varint,21,opt,name=opt_ext_bool",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: (*string)(nil),
+		Field:         22,
+		Name:          "hybrid.pbeditions.opt_ext_string",
+		Tag:           "bytes,22,opt,name=opt_ext_string",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: (*Enum)(nil),
+		Field:         23,
+		Name:          "hybrid.pbeditions.opt_ext_enum",
+		Tag:           "varint,23,opt,name=opt_ext_enum,enum=hybrid.pbeditions.Enum",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: (*Nested)(nil),
+		Field:         24,
+		Name:          "hybrid.pbeditions.opt_ext_nested",
+		Tag:           "bytes,24,opt,name=opt_ext_nested",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: (*PartialRequired)(nil),
+		Field:         25,
+		Name:          "hybrid.pbeditions.opt_ext_partial",
+		Tag:           "bytes,25,opt,name=opt_ext_partial",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: ([]uint32)(nil),
+		Field:         31,
+		Name:          "hybrid.pbeditions.rpt_ext_fixed32",
+		Tag:           "fixed32,31,rep,packed,name=rpt_ext_fixed32",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: ([]Enum)(nil),
+		Field:         32,
+		Name:          "hybrid.pbeditions.rpt_ext_enum",
+		Tag:           "varint,32,rep,packed,name=rpt_ext_enum,enum=hybrid.pbeditions.Enum",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: ([]*Nested)(nil),
+		Field:         33,
+		Name:          "hybrid.pbeditions.rpt_ext_nested",
+		Tag:           "bytes,33,rep,name=rpt_ext_nested",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*MessageSet)(nil),
+		ExtensionType: (*FakeMessageSetExtension)(nil),
+		Field:         50,
+		Name:          "hybrid.pbeditions.message_set_extension",
+		Tag:           "bytes,50,opt,name=message_set_extension",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: (*bool)(nil),
+		Field:         51,
+		Name:          "hybrid.pbeditions.ExtensionsContainer.opt_ext_bool",
+		Tag:           "varint,51,opt,name=opt_ext_bool",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: (*string)(nil),
+		Field:         52,
+		Name:          "hybrid.pbeditions.ExtensionsContainer.opt_ext_string",
+		Tag:           "bytes,52,opt,name=opt_ext_string",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: (*Enum)(nil),
+		Field:         53,
+		Name:          "hybrid.pbeditions.ExtensionsContainer.opt_ext_enum",
+		Tag:           "varint,53,opt,name=opt_ext_enum,enum=hybrid.pbeditions.Enum",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: (*Nested)(nil),
+		Field:         54,
+		Name:          "hybrid.pbeditions.ExtensionsContainer.opt_ext_nested",
+		Tag:           "bytes,54,opt,name=opt_ext_nested",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: (*PartialRequired)(nil),
+		Field:         55,
+		Name:          "hybrid.pbeditions.ExtensionsContainer.opt_ext_partial",
+		Tag:           "bytes,55,opt,name=opt_ext_partial",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: ([]string)(nil),
+		Field:         61,
+		Name:          "hybrid.pbeditions.ExtensionsContainer.rpt_ext_string",
+		Tag:           "bytes,61,rep,name=rpt_ext_string",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: ([]Enum)(nil),
+		Field:         62,
+		Name:          "hybrid.pbeditions.ExtensionsContainer.rpt_ext_enum",
+		Tag:           "varint,62,rep,packed,name=rpt_ext_enum,enum=hybrid.pbeditions.Enum",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*Extensions)(nil),
+		ExtensionType: ([]*Nested)(nil),
+		Field:         63,
+		Name:          "hybrid.pbeditions.ExtensionsContainer.rpt_ext_nested",
+		Tag:           "bytes,63,rep,name=rpt_ext_nested",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*MessageSet)(nil),
+		ExtensionType: (*MessageSetExtension)(nil),
+		Field:         10,
+		Name:          "hybrid.pbeditions.MessageSetExtension.message_set_extension",
+		Tag:           "bytes,10,opt,name=message_set_extension",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*MessageSet)(nil),
+		ExtensionType: (*MessageSetExtension)(nil),
+		Field:         20,
+		Name:          "hybrid.pbeditions.MessageSetExtension.not_message_set_extension",
+		Tag:           "bytes,20,opt,name=not_message_set_extension",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*MessageSet)(nil),
+		ExtensionType: (*Nested)(nil),
+		Field:         30,
+		Name:          "hybrid.pbeditions.MessageSetExtension.ext_nested",
+		Tag:           "bytes,30,opt,name=ext_nested",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+	{
+		ExtendedType:  (*FakeMessageSet)(nil),
+		ExtensionType: (*FakeMessageSetExtension)(nil),
+		Field:         10,
+		Name:          "hybrid.pbeditions.FakeMessageSetExtension.message_set_extension",
+		Tag:           "bytes,10,opt,name=message_set_extension",
+		Filename:      "internal/testprotos/textpbeditions/textpbeditions_hybrid/test2.hybrid.proto",
+	},
+}
+
+// Extension fields to Extensions.
+var (
+	// optional bool opt_ext_bool = 21;
+	E_OptExtBool = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[0]
+	// optional string opt_ext_string = 22;
+	E_OptExtString = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[1]
+	// optional hybrid.pbeditions.Enum opt_ext_enum = 23;
+	E_OptExtEnum = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[2]
+	// optional hybrid.pbeditions.Nested opt_ext_nested = 24;
+	E_OptExtNested = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[3]
+	// optional hybrid.pbeditions.PartialRequired opt_ext_partial = 25;
+	E_OptExtPartial = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[4]
+	// repeated fixed32 rpt_ext_fixed32 = 31;
+	E_RptExtFixed32 = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[5]
+	// repeated hybrid.pbeditions.Enum rpt_ext_enum = 32;
+	E_RptExtEnum = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[6]
+	// repeated hybrid.pbeditions.Nested rpt_ext_nested = 33;
+	E_RptExtNested = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[7]
+	// optional bool opt_ext_bool = 51;
+	E_ExtensionsContainer_OptExtBool = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[9]
+	// optional string opt_ext_string = 52;
+	E_ExtensionsContainer_OptExtString = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[10]
+	// optional hybrid.pbeditions.Enum opt_ext_enum = 53;
+	E_ExtensionsContainer_OptExtEnum = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[11]
+	// optional hybrid.pbeditions.Nested opt_ext_nested = 54;
+	E_ExtensionsContainer_OptExtNested = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[12]
+	// optional hybrid.pbeditions.PartialRequired opt_ext_partial = 55;
+	E_ExtensionsContainer_OptExtPartial = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[13]
+	// repeated string rpt_ext_string = 61;
+	E_ExtensionsContainer_RptExtString = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[14]
+	// repeated hybrid.pbeditions.Enum rpt_ext_enum = 62;
+	E_ExtensionsContainer_RptExtEnum = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[15]
+	// repeated hybrid.pbeditions.Nested rpt_ext_nested = 63;
+	E_ExtensionsContainer_RptExtNested = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[16]
+)
+
+// Extension fields to MessageSet.
+var (
+	// optional hybrid.pbeditions.FakeMessageSetExtension message_set_extension = 50;
+	E_MessageSetExtension = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[8]
+	// optional hybrid.pbeditions.MessageSetExtension message_set_extension = 10;
+	E_MessageSetExtension_MessageSetExtension = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[17]
+	// optional hybrid.pbeditions.MessageSetExtension not_message_set_extension = 20;
+	E_MessageSetExtension_NotMessageSetExtension = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[18]
+	// optional hybrid.pbeditions.Nested ext_nested = 30;
+	E_MessageSetExtension_ExtNested = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[19]
+)
+
+// Extension fields to FakeMessageSet.
+var (
+	// optional hybrid.pbeditions.FakeMessageSetExtension message_set_extension = 10;
+	E_FakeMessageSetExtension_MessageSetExtension = &file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes[20]
+)
+
+var File_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto protoreflect.FileDescriptor
+
+var file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_rawDesc = []byte{
+	0x0a, 0x4b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x32,
+	0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x68,
+	0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+	0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f,
+	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72,
+	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f,
+	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70,
+	0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
+	0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67,
+	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75,
+	0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
+	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70,
+	0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65,
+	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x03, 0x0a,
+	0x07, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f,
+	0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x42,
+	0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32,
+	0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a,
+	0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28,
+	0x0d, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a,
+	0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04,
+	0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x6f,
+	0x70, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52,
+	0x09, 0x6f, 0x70, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70,
+	0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09,
+	0x6f, 0x70, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74,
+	0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a,
+	0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70,
+	0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x06, 0x52,
+	0x0a, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0c, 0x6f,
+	0x70, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28,
+	0x0f, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x21,
+	0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0b,
+	0x20, 0x01, 0x28, 0x10, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
+	0x34, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x14,
+	0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d,
+	0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01,
+	0x28, 0x01, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a,
+	0x09, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c,
+	0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70,
+	0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+	0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x8f, 0x04, 0x0a, 0x0f, 0x49, 0x6d,
+	0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x73, 0x12, 0x1c, 0x0a,
+	0x06, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0xaa,
+	0x01, 0x02, 0x08, 0x02, 0x52, 0x05, 0x73, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x07, 0x73,
+	0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05, 0xaa, 0x01,
+	0x02, 0x08, 0x02, 0x52, 0x06, 0x73, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1e, 0x0a, 0x07, 0x73,
+	0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x05, 0xaa, 0x01,
+	0x02, 0x08, 0x02, 0x52, 0x06, 0x73, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x20, 0x0a, 0x08, 0x73,
+	0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x05, 0xaa,
+	0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x73, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x20, 0x0a,
+	0x08, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42,
+	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x73, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
+	0x20, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28,
+	0x11, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x73, 0x53, 0x69, 0x6e, 0x74, 0x33,
+	0x32, 0x12, 0x20, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x07, 0x20,
+	0x01, 0x28, 0x12, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x73, 0x53, 0x69, 0x6e,
+	0x74, 0x36, 0x34, 0x12, 0x22, 0x0a, 0x09, 0x73, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
+	0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x08, 0x73,
+	0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x22, 0x0a, 0x09, 0x73, 0x5f, 0x66, 0x69, 0x78,
+	0x65, 0x64, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x06, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08,
+	0x02, 0x52, 0x08, 0x73, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x24, 0x0a, 0x0a, 0x73,
+	0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0f, 0x42,
+	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x09, 0x73, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
+	0x32, 0x12, 0x24, 0x0a, 0x0a, 0x73, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18,
+	0x0b, 0x20, 0x01, 0x28, 0x10, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x09, 0x73, 0x53,
+	0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1e, 0x0a, 0x07, 0x73, 0x5f, 0x66, 0x6c, 0x6f,
+	0x61, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52,
+	0x06, 0x73, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x08, 0x73, 0x5f, 0x64, 0x6f, 0x75,
+	0x62, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02,
+	0x52, 0x07, 0x73, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x07, 0x73, 0x5f, 0x62,
+	0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08,
+	0x02, 0x52, 0x06, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x08, 0x73, 0x5f, 0x73,
+	0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0xaa, 0x01, 0x02,
+	0x08, 0x02, 0x52, 0x07, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x43, 0x0a, 0x0d, 0x55,
+	0x54, 0x46, 0x38, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x10,
+	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x02, 0x20, 0x02, 0x52,
+	0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
+	0x22, 0x63, 0x0a, 0x12, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x55, 0x54, 0x46, 0x38, 0x56, 0x61, 0x6c,
+	0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
+	0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x20, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x54, 0x46, 0x38, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
+	0x74, 0x65, 0x64, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa1, 0x04, 0x0a, 0x05, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x12,
+	0x32, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x0e, 0x32, 0x17, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x45,
+	0x6e, 0x75, 0x6d, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18,
+	0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70,
+	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07,
+	0x72, 0x70, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x47, 0x0a, 0x0d, 0x69, 0x6d, 0x70, 0x6c, 0x69,
+	0x63, 0x69, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b,
+	0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02,
+	0x08, 0x02, 0x52, 0x0c, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x45, 0x6e, 0x75, 0x6d,
+	0x12, 0x4b, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65,
+	0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e,
+	0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0d,
+	0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x4b, 0x0a,
+	0x0f, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
+	0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+	0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x73,
+	0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0d, 0x72, 0x70, 0x74,
+	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x60, 0x0a, 0x14, 0x69, 0x6d,
+	0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e,
+	0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+	0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x75,
+	0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x75,
+	0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x12, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63,
+	0x69, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x22, 0x28, 0x0a, 0x0a,
+	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x4e,
+	0x4f, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4f, 0x53, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04,
+	0x44, 0x49, 0x45, 0x5a, 0x10, 0x0a, 0x22, 0x41, 0x0a, 0x0e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+	0x4f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e,
+	0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x49, 0x4e, 0x53, 0x10, 0x01, 0x12,
+	0x08, 0x0a, 0x04, 0x5a, 0x57, 0x45, 0x49, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x45, 0x48,
+	0x4e, 0x10, 0x0a, 0x1a, 0x04, 0x3a, 0x02, 0x10, 0x01, 0x22, 0x94, 0x02, 0x0a, 0x07, 0x52, 0x65,
+	0x70, 0x65, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f,
+	0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x08, 0x52, 0x07, 0x72, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c,
+	0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20,
+	0x03, 0x28, 0x05, 0x52, 0x08, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1b, 0x0a,
+	0x09, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03,
+	0x52, 0x08, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70,
+	0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09,
+	0x72, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74,
+	0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x72,
+	0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f,
+	0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x08, 0x72, 0x70, 0x74,
+	0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75,
+	0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x01, 0x52, 0x09, 0x72, 0x70, 0x74, 0x44, 0x6f,
+	0x75, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69,
+	0x6e, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x70, 0x74, 0x53, 0x74, 0x72,
+	0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73,
+	0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73,
+	0x22, 0xb9, 0x02, 0x0a, 0x04, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x49, 0x0a, 0x0c, 0x69, 0x6e, 0x74,
+	0x33, 0x32, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+	0x27, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f,
+	0x53, 0x74, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54,
+	0x6f, 0x53, 0x74, 0x72, 0x12, 0x4c, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6e,
+	0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x79,
+	0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x4d, 0x61, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74,
+	0x65, 0x64, 0x1a, 0x3d, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x53, 0x74, 0x72,
+	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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+	0x01, 0x1a, 0x59, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e,
+	0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
+	0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x61, 0x0a, 0x06,
+	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74,
+	0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53,
+	0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73,
+	0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65,
+	0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22,
+	0x80, 0x06, 0x0a, 0x05, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x6f, 0x70, 0x74,
+	0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73,
+	0x74, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70,
+	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e,
+	0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52,
+	0x08, 0x6f, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x51, 0x0a, 0x0f, 0x64, 0x65, 0x6c,
+	0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x74,
+	0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x0e, 0x64, 0x65,
+	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x38, 0x0a, 0x0a,
+	0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
+	0x32, 0x19, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x72, 0x70, 0x74,
+	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x67, 0x72, 0x6f,
+	0x75, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+	0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73,
+	0x74, 0x73, 0x2e, 0x52, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x07, 0xaa, 0x01, 0x04,
+	0x18, 0x02, 0x28, 0x02, 0x52, 0x08, 0x72, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0xe6,
+	0x02, 0x0a, 0x08, 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6f,
+	0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x0a, 0x6f, 0x70,
+	0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
+	0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65,
+	0x73, 0x74, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x6e, 0x65, 0x73, 0x74, 0x65,
+	0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68,
+	0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e,
+	0x4f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05,
+	0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
+	0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x6d, 0x0a, 0x16, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,
+	0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18,
+	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70,
+	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e,
+	0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74,
+	0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x14,
+	0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x46,
+	0x69, 0x65, 0x6c, 0x64, 0x1a, 0x31, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65,
+	0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69,
+	0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x6f, 0x70, 0x74,
+	0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x1a, 0x29, 0x0a, 0x08, 0x52, 0x70, 0x74, 0x47, 0x72,
+	0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
+	0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69,
+	0x6e, 0x67, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65,
+	0x6c, 0x64, 0x22, 0x9f, 0x02, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x73,
+	0x12, 0x20, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x08, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x07, 0x72, 0x65, 0x71, 0x42, 0x6f,
+	0x6f, 0x6c, 0x12, 0x28, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
+	0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x10, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52,
+	0x0b, 0x72, 0x65, 0x71, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x24, 0x0a, 0x0a,
+	0x72, 0x65, 0x71, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01,
+	0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x44, 0x6f, 0x75, 0x62,
+	0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x09, 0x72,
+	0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f,
+	0x65, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45,
+	0x6e, 0x75, 0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x07, 0x72, 0x65, 0x71, 0x45,
+	0x6e, 0x75, 0x6d, 0x12, 0x3f, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65,
+	0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74,
+	0x65, 0x64, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x4e, 0x65,
+	0x73, 0x74, 0x65, 0x64, 0x22, 0x56, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52,
+	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73,
+	0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0xaa, 0x01, 0x02,
+	0x08, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a,
+	0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x3a, 0x0a, 0x12,
+	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
+	0x65, 0x64, 0x12, 0x24, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x09, 0x72,
+	0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xb4, 0x03, 0x0a, 0x10, 0x49, 0x6e, 0x64,
+	0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x44, 0x0a,
+	0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x25, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68,
+	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73,
+	0x74, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65,
+	0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74,
+	0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x09,
+	0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x58, 0x0a, 0x0d, 0x73, 0x74, 0x72,
+	0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+	0x32, 0x34, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71,
+	0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65,
+	0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73,
+	0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73,
+	0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65,
+	0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
+	0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x1a,
+	0x65, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
+	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57,
+	0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c,
+	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x22,
+	0x69, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a,
+	0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x08,
+	0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
+	0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69,
+	0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49,
+	0x6e, 0x74, 0x33, 0x32, 0x2a, 0x04, 0x08, 0x14, 0x10, 0x65, 0x22, 0xbf, 0x05, 0x0a, 0x13, 0x45,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
+	0x65, 0x72, 0x32, 0x3f, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x6f,
+	0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+	0x73, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x42,
+	0x6f, 0x6f, 0x6c, 0x32, 0x43, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73,
+	0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70,
+	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45,
+	0x78, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x58, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f,
+	0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+	0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74,
+	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e,
+	0x75, 0x6d, 0x32, 0x5e, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65,
+	0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+	0x6f, 0x6e, 0x73, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65,
+	0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74,
+	0x65, 0x64, 0x32, 0x69, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61,
+	0x72, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70,
+	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50,
+	0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x0d,
+	0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x32, 0x43, 0x0a,
+	0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12,
+	0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3d,
+	0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x53, 0x74, 0x72, 0x69,
+	0x6e, 0x67, 0x32, 0x58, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e,
+	0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+	0x73, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d,
+	0x52, 0x0a, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x32, 0x5e, 0x0a, 0x0e,
+	0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x1d,
+	0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3f, 0x20,
+	0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c,
+	0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x1a, 0x0a, 0x0a,
+	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x04, 0x10, 0xff,
+	0xff, 0xff, 0xff, 0x07, 0x3a, 0x02, 0x08, 0x01, 0x22, 0x8b, 0x03, 0x0a, 0x13, 0x4d, 0x65, 0x73,
+	0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+	0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32,
+	0x79, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+	0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73,
+	0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65,
+	0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x80, 0x01, 0x0a, 0x19, 0x6e,
+	0x6f, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+	0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73,
+	0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65,
+	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6e, 0x6f, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+	0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x57, 0x0a,
+	0x0a, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x68, 0x79,
+	0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x19, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x65, 0x78, 0x74,
+	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x1a, 0x0a, 0x0e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x04, 0x10, 0x80, 0x80, 0x80,
+	0x80, 0x02, 0x22, 0xbc, 0x01, 0x0a, 0x17, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
+	0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d,
+	0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x81, 0x01,
+	0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78,
+	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65,
+	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+	0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65,
+	0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+	0x6e, 0x22, 0x9e, 0x08, 0x0a, 0x0a, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73,
+	0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07,
+	0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69,
+	0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
+	0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33,
+	0x32, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
+	0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x3b, 0x0a, 0x0a, 0x6f,
+	0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+	0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f,
+	0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f,
+	0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
+	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55,
+	0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55,
+	0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f,
+	0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12,
+	0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75,
+	0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0a,
+	0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09,
+	0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74,
+	0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
+	0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, 0x79,
+	0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74,
+	0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
+	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
+	0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
+	0x6d, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
+	0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
+	0x6d, 0x70, 0x12, 0x36, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
+	0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52,
+	0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70,
+	0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
+	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c,
+	0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4c, 0x69, 0x73,
+	0x74, 0x12, 0x33, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1b,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70,
+	0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x75,
+	0x6c, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56,
+	0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x33, 0x0a,
+	0x09, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x45, 0x6d, 0x70,
+	0x74, 0x79, 0x12, 0x2d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x20, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x41, 0x6e,
+	0x79, 0x12, 0x3f, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6d, 0x61,
+	0x73, 0x6b, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
+	0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x6d, 0x61,
+	0x73, 0x6b, 0x2a, 0x21, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x4e,
+	0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x57, 0x4f, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03,
+	0x54, 0x45, 0x4e, 0x10, 0x0a, 0x2a, 0x3b, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x75,
+	0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08,
+	0x0a, 0x04, 0x45, 0x49, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x57, 0x45, 0x49,
+	0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x45, 0x48, 0x4e, 0x10, 0x0a, 0x1a, 0x04, 0x3a, 0x02,
+	0x10, 0x01, 0x3a, 0x3f, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x6f,
+	0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+	0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x42,
+	0x6f, 0x6f, 0x6c, 0x3a, 0x43, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73,
+	0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70,
+	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45,
+	0x78, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x58, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f,
+	0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69,
+	0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74,
+	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e,
+	0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e,
+	0x75, 0x6d, 0x3a, 0x5e, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65,
+	0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+	0x6f, 0x6e, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65,
+	0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74,
+	0x65, 0x64, 0x3a, 0x69, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61,
+	0x72, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70,
+	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x79, 0x62,
+	0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50,
+	0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x0d,
+	0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x3a, 0x45, 0x0a,
+	0x0f, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
+	0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+	0x1f, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0d, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x46, 0x69, 0x78,
+	0x65, 0x64, 0x33, 0x32, 0x3a, 0x58, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f,
+	0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62,
+	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+	0x6f, 0x6e, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x68, 0x79, 0x62, 0x72,
+	0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e,
+	0x75, 0x6d, 0x52, 0x0a, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x5e,
+	0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
+	0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+	0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70,
+	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+	0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x3a, 0x7d,
+	0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78,
+	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
+	0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73,
+	0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68,
+	0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+	0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45,
+	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+	0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x5a,
+	0x53, 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, 0x78, 0x74, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74,
+	0x65, 0x78, 0x74, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x68, 0x79,
+	0x62, 0x72, 0x69, 0x64, 0x92, 0x03, 0x09, 0xd2, 0x3e, 0x02, 0x10, 0x02, 0x10, 0x02, 0x20, 0x03,
+	0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
+}
+
+var file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
+var file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
+var file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_goTypes = []any{
+	(Enum)(0),                             // 0: hybrid.pbeditions.Enum
+	(OpenEnum)(0),                         // 1: hybrid.pbeditions.OpenEnum
+	(Enums_NestedEnum)(0),                 // 2: hybrid.pbeditions.Enums.NestedEnum
+	(Enums_NestedOpenEnum)(0),             // 3: hybrid.pbeditions.Enums.NestedOpenEnum
+	(*Scalars)(nil),                       // 4: hybrid.pbeditions.Scalars
+	(*ImplicitScalars)(nil),               // 5: hybrid.pbeditions.ImplicitScalars
+	(*UTF8Validated)(nil),                 // 6: hybrid.pbeditions.UTF8Validated
+	(*NestsUTF8Validated)(nil),            // 7: hybrid.pbeditions.NestsUTF8Validated
+	(*Enums)(nil),                         // 8: hybrid.pbeditions.Enums
+	(*Repeats)(nil),                       // 9: hybrid.pbeditions.Repeats
+	(*Maps)(nil),                          // 10: hybrid.pbeditions.Maps
+	(*Nested)(nil),                        // 11: hybrid.pbeditions.Nested
+	(*Nests)(nil),                         // 12: hybrid.pbeditions.Nests
+	(*Requireds)(nil),                     // 13: hybrid.pbeditions.Requireds
+	(*PartialRequired)(nil),               // 14: hybrid.pbeditions.PartialRequired
+	(*NestedWithRequired)(nil),            // 15: hybrid.pbeditions.NestedWithRequired
+	(*IndirectRequired)(nil),              // 16: hybrid.pbeditions.IndirectRequired
+	(*Extensions)(nil),                    // 17: hybrid.pbeditions.Extensions
+	(*ExtensionsContainer)(nil),           // 18: hybrid.pbeditions.ExtensionsContainer
+	(*MessageSet)(nil),                    // 19: hybrid.pbeditions.MessageSet
+	(*MessageSetExtension)(nil),           // 20: hybrid.pbeditions.MessageSetExtension
+	(*FakeMessageSet)(nil),                // 21: hybrid.pbeditions.FakeMessageSet
+	(*FakeMessageSetExtension)(nil),       // 22: hybrid.pbeditions.FakeMessageSetExtension
+	(*KnownTypes)(nil),                    // 23: hybrid.pbeditions.KnownTypes
+	nil,                                   // 24: hybrid.pbeditions.Maps.Int32ToStrEntry
+	nil,                                   // 25: hybrid.pbeditions.Maps.StrToNestedEntry
+	(*Nests_OptGroup)(nil),                // 26: hybrid.pbeditions.Nests.OptGroup
+	(*Nests_RptGroup)(nil),                // 27: hybrid.pbeditions.Nests.RptGroup
+	(*Nests_OptGroup_OptNestedGroup)(nil), // 28: hybrid.pbeditions.Nests.OptGroup.OptNestedGroup
+	nil,                                   // 29: hybrid.pbeditions.IndirectRequired.StrToNestedEntry
+	(*wrapperspb.BoolValue)(nil),          // 30: google.protobuf.BoolValue
+	(*wrapperspb.Int32Value)(nil),         // 31: google.protobuf.Int32Value
+	(*wrapperspb.Int64Value)(nil),         // 32: google.protobuf.Int64Value
+	(*wrapperspb.UInt32Value)(nil),        // 33: google.protobuf.UInt32Value
+	(*wrapperspb.UInt64Value)(nil),        // 34: google.protobuf.UInt64Value
+	(*wrapperspb.FloatValue)(nil),         // 35: google.protobuf.FloatValue
+	(*wrapperspb.DoubleValue)(nil),        // 36: google.protobuf.DoubleValue
+	(*wrapperspb.StringValue)(nil),        // 37: google.protobuf.StringValue
+	(*wrapperspb.BytesValue)(nil),         // 38: google.protobuf.BytesValue
+	(*durationpb.Duration)(nil),           // 39: google.protobuf.Duration
+	(*timestamppb.Timestamp)(nil),         // 40: google.protobuf.Timestamp
+	(*structpb.Struct)(nil),               // 41: google.protobuf.Struct
+	(*structpb.ListValue)(nil),            // 42: google.protobuf.ListValue
+	(*structpb.Value)(nil),                // 43: google.protobuf.Value
+	(structpb.NullValue)(0),               // 44: google.protobuf.NullValue
+	(*emptypb.Empty)(nil),                 // 45: google.protobuf.Empty
+	(*anypb.Any)(nil),                     // 46: google.protobuf.Any
+	(*fieldmaskpb.FieldMask)(nil),         // 47: google.protobuf.FieldMask
+}
+var file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_depIdxs = []int32{
+	6,  // 0: hybrid.pbeditions.NestsUTF8Validated.validated_message:type_name -> hybrid.pbeditions.UTF8Validated
+	0,  // 1: hybrid.pbeditions.Enums.opt_enum:type_name -> hybrid.pbeditions.Enum
+	0,  // 2: hybrid.pbeditions.Enums.rpt_enum:type_name -> hybrid.pbeditions.Enum
+	1,  // 3: hybrid.pbeditions.Enums.implicit_enum:type_name -> hybrid.pbeditions.OpenEnum
+	2,  // 4: hybrid.pbeditions.Enums.opt_nested_enum:type_name -> hybrid.pbeditions.Enums.NestedEnum
+	2,  // 5: hybrid.pbeditions.Enums.rpt_nested_enum:type_name -> hybrid.pbeditions.Enums.NestedEnum
+	3,  // 6: hybrid.pbeditions.Enums.implicit_nested_enum:type_name -> hybrid.pbeditions.Enums.NestedOpenEnum
+	24, // 7: hybrid.pbeditions.Maps.int32_to_str:type_name -> hybrid.pbeditions.Maps.Int32ToStrEntry
+	25, // 8: hybrid.pbeditions.Maps.str_to_nested:type_name -> hybrid.pbeditions.Maps.StrToNestedEntry
+	11, // 9: hybrid.pbeditions.Nested.opt_nested:type_name -> hybrid.pbeditions.Nested
+	11, // 10: hybrid.pbeditions.Nests.opt_nested:type_name -> hybrid.pbeditions.Nested
+	26, // 11: hybrid.pbeditions.Nests.optgroup:type_name -> hybrid.pbeditions.Nests.OptGroup
+	26, // 12: hybrid.pbeditions.Nests.delimited_field:type_name -> hybrid.pbeditions.Nests.OptGroup
+	11, // 13: hybrid.pbeditions.Nests.rpt_nested:type_name -> hybrid.pbeditions.Nested
+	27, // 14: hybrid.pbeditions.Nests.rptgroup:type_name -> hybrid.pbeditions.Nests.RptGroup
+	0,  // 15: hybrid.pbeditions.Requireds.req_enum:type_name -> hybrid.pbeditions.Enum
+	11, // 16: hybrid.pbeditions.Requireds.req_nested:type_name -> hybrid.pbeditions.Nested
+	15, // 17: hybrid.pbeditions.IndirectRequired.opt_nested:type_name -> hybrid.pbeditions.NestedWithRequired
+	15, // 18: hybrid.pbeditions.IndirectRequired.rpt_nested:type_name -> hybrid.pbeditions.NestedWithRequired
+	29, // 19: hybrid.pbeditions.IndirectRequired.str_to_nested:type_name -> hybrid.pbeditions.IndirectRequired.StrToNestedEntry
+	15, // 20: hybrid.pbeditions.IndirectRequired.oneof_nested:type_name -> hybrid.pbeditions.NestedWithRequired
+	30, // 21: hybrid.pbeditions.KnownTypes.opt_bool:type_name -> google.protobuf.BoolValue
+	31, // 22: hybrid.pbeditions.KnownTypes.opt_int32:type_name -> google.protobuf.Int32Value
+	32, // 23: hybrid.pbeditions.KnownTypes.opt_int64:type_name -> google.protobuf.Int64Value
+	33, // 24: hybrid.pbeditions.KnownTypes.opt_uint32:type_name -> google.protobuf.UInt32Value
+	34, // 25: hybrid.pbeditions.KnownTypes.opt_uint64:type_name -> google.protobuf.UInt64Value
+	35, // 26: hybrid.pbeditions.KnownTypes.opt_float:type_name -> google.protobuf.FloatValue
+	36, // 27: hybrid.pbeditions.KnownTypes.opt_double:type_name -> google.protobuf.DoubleValue
+	37, // 28: hybrid.pbeditions.KnownTypes.opt_string:type_name -> google.protobuf.StringValue
+	38, // 29: hybrid.pbeditions.KnownTypes.opt_bytes:type_name -> google.protobuf.BytesValue
+	39, // 30: hybrid.pbeditions.KnownTypes.opt_duration:type_name -> google.protobuf.Duration
+	40, // 31: hybrid.pbeditions.KnownTypes.opt_timestamp:type_name -> google.protobuf.Timestamp
+	41, // 32: hybrid.pbeditions.KnownTypes.opt_struct:type_name -> google.protobuf.Struct
+	42, // 33: hybrid.pbeditions.KnownTypes.opt_list:type_name -> google.protobuf.ListValue
+	43, // 34: hybrid.pbeditions.KnownTypes.opt_value:type_name -> google.protobuf.Value
+	44, // 35: hybrid.pbeditions.KnownTypes.opt_null:type_name -> google.protobuf.NullValue
+	45, // 36: hybrid.pbeditions.KnownTypes.opt_empty:type_name -> google.protobuf.Empty
+	46, // 37: hybrid.pbeditions.KnownTypes.opt_any:type_name -> google.protobuf.Any
+	47, // 38: hybrid.pbeditions.KnownTypes.opt_fieldmask:type_name -> google.protobuf.FieldMask
+	11, // 39: hybrid.pbeditions.Maps.StrToNestedEntry.value:type_name -> hybrid.pbeditions.Nested
+	11, // 40: hybrid.pbeditions.Nests.OptGroup.opt_nested:type_name -> hybrid.pbeditions.Nested
+	28, // 41: hybrid.pbeditions.Nests.OptGroup.optnestedgroup:type_name -> hybrid.pbeditions.Nests.OptGroup.OptNestedGroup
+	28, // 42: hybrid.pbeditions.Nests.OptGroup.nested_delimited_field:type_name -> hybrid.pbeditions.Nests.OptGroup.OptNestedGroup
+	15, // 43: hybrid.pbeditions.IndirectRequired.StrToNestedEntry.value:type_name -> hybrid.pbeditions.NestedWithRequired
+	17, // 44: hybrid.pbeditions.opt_ext_bool:extendee -> hybrid.pbeditions.Extensions
+	17, // 45: hybrid.pbeditions.opt_ext_string:extendee -> hybrid.pbeditions.Extensions
+	17, // 46: hybrid.pbeditions.opt_ext_enum:extendee -> hybrid.pbeditions.Extensions
+	17, // 47: hybrid.pbeditions.opt_ext_nested:extendee -> hybrid.pbeditions.Extensions
+	17, // 48: hybrid.pbeditions.opt_ext_partial:extendee -> hybrid.pbeditions.Extensions
+	17, // 49: hybrid.pbeditions.rpt_ext_fixed32:extendee -> hybrid.pbeditions.Extensions
+	17, // 50: hybrid.pbeditions.rpt_ext_enum:extendee -> hybrid.pbeditions.Extensions
+	17, // 51: hybrid.pbeditions.rpt_ext_nested:extendee -> hybrid.pbeditions.Extensions
+	19, // 52: hybrid.pbeditions.message_set_extension:extendee -> hybrid.pbeditions.MessageSet
+	17, // 53: hybrid.pbeditions.ExtensionsContainer.opt_ext_bool:extendee -> hybrid.pbeditions.Extensions
+	17, // 54: hybrid.pbeditions.ExtensionsContainer.opt_ext_string:extendee -> hybrid.pbeditions.Extensions
+	17, // 55: hybrid.pbeditions.ExtensionsContainer.opt_ext_enum:extendee -> hybrid.pbeditions.Extensions
+	17, // 56: hybrid.pbeditions.ExtensionsContainer.opt_ext_nested:extendee -> hybrid.pbeditions.Extensions
+	17, // 57: hybrid.pbeditions.ExtensionsContainer.opt_ext_partial:extendee -> hybrid.pbeditions.Extensions
+	17, // 58: hybrid.pbeditions.ExtensionsContainer.rpt_ext_string:extendee -> hybrid.pbeditions.Extensions
+	17, // 59: hybrid.pbeditions.ExtensionsContainer.rpt_ext_enum:extendee -> hybrid.pbeditions.Extensions
+	17, // 60: hybrid.pbeditions.ExtensionsContainer.rpt_ext_nested:extendee -> hybrid.pbeditions.Extensions
+	19, // 61: hybrid.pbeditions.MessageSetExtension.message_set_extension:extendee -> hybrid.pbeditions.MessageSet
+	19, // 62: hybrid.pbeditions.MessageSetExtension.not_message_set_extension:extendee -> hybrid.pbeditions.MessageSet
+	19, // 63: hybrid.pbeditions.MessageSetExtension.ext_nested:extendee -> hybrid.pbeditions.MessageSet
+	21, // 64: hybrid.pbeditions.FakeMessageSetExtension.message_set_extension:extendee -> hybrid.pbeditions.FakeMessageSet
+	0,  // 65: hybrid.pbeditions.opt_ext_enum:type_name -> hybrid.pbeditions.Enum
+	11, // 66: hybrid.pbeditions.opt_ext_nested:type_name -> hybrid.pbeditions.Nested
+	14, // 67: hybrid.pbeditions.opt_ext_partial:type_name -> hybrid.pbeditions.PartialRequired
+	0,  // 68: hybrid.pbeditions.rpt_ext_enum:type_name -> hybrid.pbeditions.Enum
+	11, // 69: hybrid.pbeditions.rpt_ext_nested:type_name -> hybrid.pbeditions.Nested
+	22, // 70: hybrid.pbeditions.message_set_extension:type_name -> hybrid.pbeditions.FakeMessageSetExtension
+	0,  // 71: hybrid.pbeditions.ExtensionsContainer.opt_ext_enum:type_name -> hybrid.pbeditions.Enum
+	11, // 72: hybrid.pbeditions.ExtensionsContainer.opt_ext_nested:type_name -> hybrid.pbeditions.Nested
+	14, // 73: hybrid.pbeditions.ExtensionsContainer.opt_ext_partial:type_name -> hybrid.pbeditions.PartialRequired
+	0,  // 74: hybrid.pbeditions.ExtensionsContainer.rpt_ext_enum:type_name -> hybrid.pbeditions.Enum
+	11, // 75: hybrid.pbeditions.ExtensionsContainer.rpt_ext_nested:type_name -> hybrid.pbeditions.Nested
+	20, // 76: hybrid.pbeditions.MessageSetExtension.message_set_extension:type_name -> hybrid.pbeditions.MessageSetExtension
+	20, // 77: hybrid.pbeditions.MessageSetExtension.not_message_set_extension:type_name -> hybrid.pbeditions.MessageSetExtension
+	11, // 78: hybrid.pbeditions.MessageSetExtension.ext_nested:type_name -> hybrid.pbeditions.Nested
+	22, // 79: hybrid.pbeditions.FakeMessageSetExtension.message_set_extension:type_name -> hybrid.pbeditions.FakeMessageSetExtension
+	80, // [80:80] is the sub-list for method output_type
+	80, // [80:80] is the sub-list for method input_type
+	65, // [65:80] is the sub-list for extension type_name
+	44, // [44:65] is the sub-list for extension extendee
+	0,  // [0:44] is the sub-list for field type_name
+}
+
+func init() { file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_init() }
+func file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_init() {
+	if File_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto != nil {
+		return
+	}
+	file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes[12].OneofWrappers = []any{
+		(*indirectRequired_OneofNested)(nil),
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_rawDesc,
+			NumEnums:      4,
+			NumMessages:   26,
+			NumExtensions: 21,
+			NumServices:   0,
+		},
+		GoTypes:           file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_goTypes,
+		DependencyIndexes: file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_depIdxs,
+		EnumInfos:         file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_enumTypes,
+		MessageInfos:      file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_msgTypes,
+		ExtensionInfos:    file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_extTypes,
+	}.Build()
+	File_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto = out.File
+	file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_rawDesc = nil
+	file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_goTypes = nil
+	file_internal_testprotos_textpbeditions_textpbeditions_hybrid_test2_hybrid_proto_depIdxs = nil
+}