regenerate test files (./regenerate.bash)

This is required for the previous two commits (5a1e7ce and 3c53b4e).

Unfortunately, copybara (the tool we use to export this repository)
does not currently support re-generating .pb.go files for us.

Related to https://github.com/golang/open2opaque/issues/18

Change-Id: I4a25e8752e30623b5731fd4331b1e95dac32c96f
Reviewed-on: https://go-review.googlesource.com/c/open2opaque/+/699075
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Lasse Folger <lassefolger@google.com>
diff --git a/internal/apiflagdata/go_api_enum.pb.go b/internal/apiflagdata/go_api_enum.pb.go
index f425e28..d5493fb 100644
--- a/internal/apiflagdata/go_api_enum.pb.go
+++ b/internal/apiflagdata/go_api_enum.pb.go
@@ -4,8 +4,8 @@
 
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.35.2-devel
-// 	protoc        v5.29.1
+// 	protoc-gen-go v1.36.8
+// 	protoc        v6.32.0
 // source: go_api_enum.proto
 
 package apiflagdata
@@ -15,6 +15,7 @@
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
+	unsafe "unsafe"
 )
 
 const (
@@ -81,29 +82,24 @@
 
 var File_go_api_enum_proto protoreflect.FileDescriptor
 
-var file_go_api_enum_proto_rawDesc = []byte{
-	0x0a, 0x11, 0x67, 0x6f, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x12, 0x25, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
-	0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x61,
-	0x70, 0x69, 0x66, 0x6c, 0x61, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2a, 0x69, 0x0a, 0x05, 0x47, 0x6f,
-	0x41, 0x50, 0x49, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x4f, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x55, 0x4e,
-	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49,
-	0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x45, 0x4e,
-	0x5f, 0x56, 0x31, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x54, 0x4f,
-	0x5f, 0x4f, 0x50, 0x41, 0x51, 0x55, 0x45, 0x5f, 0x48, 0x59, 0x42, 0x52, 0x49, 0x44, 0x10, 0x03,
-	0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x50, 0x41, 0x51, 0x55, 0x45, 0x5f, 0x56, 0x30, 0x10, 0x04, 0x22,
-	0x04, 0x08, 0x05, 0x10, 0x05, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70,
-	0xe8, 0x07,
-}
+const file_go_api_enum_proto_rawDesc = "" +
+	"\n" +
+	"\x11go_api_enum.proto\x12%net.proto2.go.open2opaque.apiflagdata*i\n" +
+	"\x05GoAPI\x12\x16\n" +
+	"\x12GO_API_UNSPECIFIED\x10\x00\x12\v\n" +
+	"\aINVALID\x10\x01\x12\v\n" +
+	"\aOPEN_V1\x10\x02\x12\x19\n" +
+	"\x15OPEN_TO_OPAQUE_HYBRID\x10\x03\x12\r\n" +
+	"\tOPAQUE_V0\x10\x04\"\x04\b\x05\x10\x05b\beditionsp\xe8\a"
 
 var (
 	file_go_api_enum_proto_rawDescOnce sync.Once
-	file_go_api_enum_proto_rawDescData = file_go_api_enum_proto_rawDesc
+	file_go_api_enum_proto_rawDescData []byte
 )
 
 func file_go_api_enum_proto_rawDescGZIP() []byte {
 	file_go_api_enum_proto_rawDescOnce.Do(func() {
-		file_go_api_enum_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_api_enum_proto_rawDescData)
+		file_go_api_enum_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_go_api_enum_proto_rawDesc), len(file_go_api_enum_proto_rawDesc)))
 	})
 	return file_go_api_enum_proto_rawDescData
 }
@@ -129,7 +125,7 @@
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_go_api_enum_proto_rawDesc,
+			RawDescriptor: unsafe.Slice(unsafe.StringData(file_go_api_enum_proto_rawDesc), len(file_go_api_enum_proto_rawDesc)),
 			NumEnums:      1,
 			NumMessages:   0,
 			NumExtensions: 0,
@@ -140,7 +136,6 @@
 		EnumInfos:         file_go_api_enum_proto_enumTypes,
 	}.Build()
 	File_go_api_enum_proto = out.File
-	file_go_api_enum_proto_rawDesc = nil
 	file_go_api_enum_proto_goTypes = nil
 	file_go_api_enum_proto_depIdxs = nil
 }
diff --git a/internal/dashboard/stats.pb.go b/internal/dashboard/stats.pb.go
index 08010a4..8396d8c 100644
--- a/internal/dashboard/stats.pb.go
+++ b/internal/dashboard/stats.pb.go
@@ -4,8 +4,8 @@
 
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.35.2-devel
-// 	protoc        v5.29.1
+// 	protoc-gen-go v1.36.8
+// 	protoc        v6.32.0
 // source: stats.proto
 
 //go:build !protoopaque
@@ -17,6 +17,7 @@
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	_ "google.golang.org/protobuf/types/gofeaturespb"
 	reflect "reflect"
+	unsafe "unsafe"
 )
 
 const (
@@ -2493,272 +2494,154 @@
 
 var File_stats_proto protoreflect.FileDescriptor
 
-var file_stats_proto_rawDesc = []byte{
-	0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x6e,
-	0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65,
-	0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 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, 0xc9, 0x03, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x06, 0x73,
-	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65,
-	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
-	0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53, 0x74,
-	0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x45, 0x0a, 0x08,
-	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
-	0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f,
-	0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73,
-	0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01,
-	0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
-	0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73,
-	0x74, 0x61, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65,
-	0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
-	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71,
-	0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74,
-	0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74,
-	0x61, 0x74, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04,
-	0x65, 0x78, 0x70, 0x72, 0x12, 0x36, 0x0a, 0x03, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74,
-	0x61, 0x74, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x52, 0x03, 0x75, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x06,
-	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e,
-	0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65,
-	0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53,
-	0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xe2, 0x01,
-	0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61,
-	0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63,
-	0x6b, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x67,
-	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64,
-	0x46, 0x69, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
-	0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
-	0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05,
-	0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x3b, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
-	0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73,
-	0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x65,
-	0x6e, 0x64, 0x22, 0x36, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12,
-	0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69,
-	0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x9a, 0x01, 0x0a, 0x06, 0x53,
-	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x40, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
-	0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
-	0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x54, 0x79, 0x70,
-	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
-	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x38, 0x0a,
-	0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
-	0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f,
-	0x4b, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x02, 0x12, 0x08, 0x0a,
-	0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x22, 0x42, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12,
-	0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b,
-	0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x08, 0x6c, 0x6f, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x0a, 0x45,
-	0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
-	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a,
-	0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xc8,
-	0x09, 0x0a, 0x03, 0x55, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
-	0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
-	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x5c, 0x0a, 0x13, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f,
-	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
-	0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73,
-	0x74, 0x61, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
-	0x52, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63,
-	0x65, 0x73, 0x73, 0x12, 0x4c, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x63, 0x61,
-	0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70,
-	0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f,
-	0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43, 0x61, 0x6c,
-	0x6c, 0x12, 0x4e, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72,
-	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71,
-	0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75,
-	0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f,
-	0x72, 0x12, 0x4b, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
-	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75,
-	0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69,
-	0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43,
-	0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x61, 0x72, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x28, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f,
-	0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61,
-	0x74, 0x73, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x41, 0x72, 0x67, 0x52, 0x07, 0x66, 0x75, 0x6e, 0x63,
-	0x41, 0x72, 0x67, 0x12, 0x55, 0x0a, 0x0e, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65,
-	0x72, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6e, 0x65,
-	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
-	0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x54, 0x79,
-	0x70, 0x65, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x74, 0x79, 0x70,
-	0x65, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x0f, 0x74, 0x79,
-	0x70, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
-	0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
-	0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69,
-	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x74, 0x79, 0x70, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69,
-	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x09, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e,
-	0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61,
-	0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64,
-	0x69, 0x6e, 0x67, 0x52, 0x09, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x60,
-	0x0a, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64,
-	0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
-	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70,
-	0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e,
-	0x46, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x13, 0x69, 0x6e, 0x74,
-	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
-	0x12, 0x4f, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
-	0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71,
-	0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74,
-	0x43, 0x61, 0x6c, 0x6c, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x61, 0x6c,
-	0x6c, 0x12, 0x4f, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x70,
-	0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61,
-	0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f,
-	0x77, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f,
-	0x70, 0x79, 0x22, 0xf4, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54,
-	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
-	0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c,
-	0x44, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x45,
-	0x54, 0x48, 0x4f, 0x44, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43,
-	0x4f, 0x4e, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a,
-	0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e,
-	0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05,
-	0x12, 0x13, 0x0a, 0x0f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x49, 0x54,
-	0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x49,
-	0x4e, 0x47, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c,
-	0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x08, 0x12,
-	0x10, 0x0a, 0x0c, 0x52, 0x45, 0x46, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10,
-	0x09, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x48, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x50,
-	0x59, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x44, 0x45, 0x50,
-	0x45, 0x4e, 0x44, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x0b, 0x22, 0xc5, 0x01, 0x0a, 0x0b, 0x52, 0x65,
-	0x66, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x3e, 0x0a, 0x06, 0x66, 0x72, 0x61,
-	0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x74, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f,
-	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x46, 0x72, 0x61, 0x6d,
-	0x65, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x02, 0x66, 0x6e, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75,
-	0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x02, 0x66,
-	0x6e, 0x12, 0x3e, 0x0a, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74,
-	0x61, 0x74, 0x73, 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x65,
-	0x72, 0x22, 0xb9, 0x01, 0x0a, 0x05, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66,
-	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66,
-	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, 0x78,
-	0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73,
-	0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b,
-	0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61,
-	0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e,
-	0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
-	0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6b, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x6b, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x72, 0x0a,
-	0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
-	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x66,
-	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x25, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e,
-	0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74,
-	0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70,
-	0x65, 0x22, 0x9d, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43, 0x61, 0x6c, 0x6c,
-	0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x44, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
-	0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71,
-	0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43,
-	0x61, 0x6c, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x31,
-	0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49,
-	0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x45, 0x54, 0x5f, 0x4f, 0x4e, 0x45, 0x4f, 0x46,
-	0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10,
-	0x02, 0x22, 0xa8, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f,
-	0x72, 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
-	0x31, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e,
-	0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74,
-	0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x79,
-	0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65,
-	0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
-	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f,
-	0x4c, 0x49, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x4e,
-	0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x4c, 0x49, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x02, 0x12,
-	0x0b, 0x0a, 0x07, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x03, 0x22, 0xea, 0x02, 0x0a,
-	0x0a, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x64,
-	0x65, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d,
-	0x65, 0x12, 0x43, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
-	0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
-	0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x41, 0x72, 0x67, 0x52, 0x07, 0x66,
-	0x75, 0x6e, 0x63, 0x41, 0x72, 0x67, 0x12, 0x4d, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
-	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61,
-	0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72,
-	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f,
-	0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
-	0x74, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x55, 0x4e, 0x53,
-	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x41,
-	0x4c, 0x4c, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a,
-	0x0c, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x12,
-	0x0e, 0x0a, 0x0a, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12,
-	0x0c, 0x0a, 0x08, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x04, 0x12, 0x1d, 0x0a,
-	0x19, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x54, 0x45, 0x52,
-	0x41, 0x4c, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09,
-	0x43, 0x48, 0x41, 0x4e, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x46,
-	0x55, 0x4e, 0x43, 0x5f, 0x52, 0x45, 0x54, 0x10, 0x07, 0x22, 0x6f, 0x0a, 0x07, 0x46, 0x75, 0x6e,
-	0x63, 0x41, 0x72, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
-	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x75, 0x6e,
-	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63,
-	0x6b, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09,
-	0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x51, 0x0a, 0x0d, 0x54, 0x79,
-	0x70, 0x65, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x73,
-	0x72, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
-	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70,
-	0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e,
-	0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x73, 0x72, 0x63, 0x54, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a,
-	0x0e, 0x54, 0x79, 0x70, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12,
-	0x40, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74,
-	0x61, 0x74, 0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x54, 0x79, 0x70,
-	0x65, 0x22, 0x2c, 0x0a, 0x09, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1f,
-	0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22,
-	0x1c, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c,
-	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x22, 0xcd, 0x01,
-	0x0a, 0x0b, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x45, 0x0a,
-	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6e, 0x65,
-	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
-	0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53, 0x68,
-	0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
-	0x74, 0x79, 0x70, 0x65, 0x22, 0x77, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10,
-	0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
-	0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x11,
-	0x0a, 0x0d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10,
-	0x02, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x52, 0x45, 0x54, 0x10, 0x03, 0x12,
-	0x1d, 0x0a, 0x19, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x54,
-	0x45, 0x52, 0x41, 0x4c, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x0d,
-	0x0a, 0x09, 0x43, 0x48, 0x41, 0x4e, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x10, 0x05, 0x2a, 0x57, 0x0a,
-	0x0c, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a,
-	0x19, 0x52, 0x45, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55,
-	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04,
-	0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x10,
-	0x02, 0x12, 0x0a, 0x0a, 0x06, 0x59, 0x45, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x12, 0x07, 0x0a,
-	0x03, 0x52, 0x45, 0x44, 0x10, 0x04, 0x42, 0x0a, 0x92, 0x03, 0x07, 0xd2, 0x3e, 0x02, 0x10, 0x02,
-	0x08, 0x02, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
-}
+const file_stats_proto_rawDesc = "" +
+	"\n" +
+	"\vstats.proto\x12\x1fnet.proto2.go.open2opaque.stats\x1a!google/protobuf/go_features.proto\"\xc9\x03\n" +
+	"\x05Entry\x12?\n" +
+	"\x06status\x18\x01 \x01(\v2'.net.proto2.go.open2opaque.stats.StatusR\x06status\x12E\n" +
+	"\blocation\x18\x02 \x01(\v2).net.proto2.go.open2opaque.stats.LocationR\blocation\x12C\n" +
+	"\x05level\x18\x03 \x01(\x0e2-.net.proto2.go.open2opaque.stats.RewriteLevelR\x05level\x129\n" +
+	"\x04type\x18\x04 \x01(\v2%.net.proto2.go.open2opaque.stats.TypeR\x04type\x12?\n" +
+	"\x04expr\x18\x05 \x01(\v2+.net.proto2.go.open2opaque.stats.ExpressionR\x04expr\x126\n" +
+	"\x03use\x18\x06 \x01(\v2$.net.proto2.go.open2opaque.stats.UseR\x03use\x12?\n" +
+	"\x06source\x18\a \x01(\v2'.net.proto2.go.open2opaque.stats.SourceR\x06source\"\xe2\x01\n" +
+	"\bLocation\x12\x18\n" +
+	"\apackage\x18\x01 \x01(\tR\apackage\x12\x12\n" +
+	"\x04file\x18\x02 \x01(\tR\x04file\x12*\n" +
+	"\x11is_generated_file\x18\x03 \x01(\bR\x0fisGeneratedFile\x12?\n" +
+	"\x05start\x18\x04 \x01(\v2).net.proto2.go.open2opaque.stats.PositionR\x05start\x12;\n" +
+	"\x03end\x18\x05 \x01(\v2).net.proto2.go.open2opaque.stats.PositionR\x03end\"6\n" +
+	"\bPosition\x12\x12\n" +
+	"\x04line\x18\x01 \x01(\x03R\x04line\x12\x16\n" +
+	"\x06column\x18\x02 \x01(\x03R\x06column\"\x9a\x01\n" +
+	"\x06Status\x12@\n" +
+	"\x04type\x18\x01 \x01(\x0e2,.net.proto2.go.open2opaque.stats.Status.TypeR\x04type\x12\x14\n" +
+	"\x05error\x18\x02 \x01(\tR\x05error\"8\n" +
+	"\x04Type\x12\x14\n" +
+	"\x10UNSPECIFIED_TYPE\x10\x00\x12\x06\n" +
+	"\x02OK\x10\x01\x12\b\n" +
+	"\x04SKIP\x10\x02\x12\b\n" +
+	"\x04FAIL\x10\x03\"B\n" +
+	"\x04Type\x12\x1d\n" +
+	"\n" +
+	"short_name\x18\x01 \x01(\tR\tshortName\x12\x1b\n" +
+	"\tlong_name\x18\x02 \x01(\tR\blongName\"A\n" +
+	"\n" +
+	"Expression\x12\x12\n" +
+	"\x04type\x18\x01 \x01(\tR\x04type\x12\x1f\n" +
+	"\vparent_type\x18\x02 \x01(\tR\n" +
+	"parentType\"\xc8\t\n" +
+	"\x03Use\x12=\n" +
+	"\x04type\x18\x01 \x01(\x0e2).net.proto2.go.open2opaque.stats.Use.TypeR\x04type\x12\\\n" +
+	"\x13direct_field_access\x18\x02 \x01(\v2,.net.proto2.go.open2opaque.stats.FieldAccessR\x11directFieldAccess\x12L\n" +
+	"\vmethod_call\x18\x03 \x01(\v2+.net.proto2.go.open2opaque.stats.MethodCallR\n" +
+	"methodCall\x12N\n" +
+	"\vconstructor\x18\x04 \x01(\v2,.net.proto2.go.open2opaque.stats.ConstructorR\vconstructor\x12K\n" +
+	"\n" +
+	"conversion\x18\x05 \x01(\v2+.net.proto2.go.open2opaque.stats.ConversionR\n" +
+	"conversion\x12C\n" +
+	"\bfunc_arg\x18\x06 \x01(\v2(.net.proto2.go.open2opaque.stats.FuncArgR\afuncArg\x12U\n" +
+	"\x0etype_assertion\x18\a \x01(\v2..net.proto2.go.open2opaque.stats.TypeAssertionR\rtypeAssertion\x12X\n" +
+	"\x0ftype_definition\x18\b \x01(\v2/.net.proto2.go.open2opaque.stats.TypeDefinitionR\x0etypeDefinition\x12H\n" +
+	"\tembedding\x18\t \x01(\v2*.net.proto2.go.open2opaque.stats.EmbeddingR\tembedding\x12`\n" +
+	"\x15internal_field_access\x18\n" +
+	" \x01(\v2,.net.proto2.go.open2opaque.stats.FieldAccessR\x13internalFieldAccess\x12O\n" +
+	"\freflect_call\x18\v \x01(\v2,.net.proto2.go.open2opaque.stats.ReflectCallR\vreflectCall\x12O\n" +
+	"\fshallow_copy\x18\f \x01(\v2,.net.proto2.go.open2opaque.stats.ShallowCopyR\vshallowCopy\"\xf4\x01\n" +
+	"\x04Type\x12\x14\n" +
+	"\x10TYPE_UNSPECIFIED\x10\x00\x12\x17\n" +
+	"\x13DIRECT_FIELD_ACCESS\x10\x01\x12\x0f\n" +
+	"\vMETHOD_CALL\x10\x02\x12\x0f\n" +
+	"\vCONSTRUCTOR\x10\x03\x12\x0e\n" +
+	"\n" +
+	"CONVERSION\x10\x04\x12\x12\n" +
+	"\x0eTYPE_ASSERTION\x10\x05\x12\x13\n" +
+	"\x0fTYPE_DEFINITION\x10\x06\x12\r\n" +
+	"\tEMBEDDING\x10\a\x12\x19\n" +
+	"\x15INTERNAL_FIELD_ACCESS\x10\b\x12\x10\n" +
+	"\fREFLECT_CALL\x10\t\x12\x10\n" +
+	"\fSHALLOW_COPY\x10\n" +
+	"\x12\x14\n" +
+	"\x10BUILD_DEPENDENCY\x10\v\"\xc5\x01\n" +
+	"\vReflectCall\x12>\n" +
+	"\x06frames\x18\x01 \x03(\v2&.net.proto2.go.open2opaque.stats.FrameR\x06frames\x126\n" +
+	"\x02fn\x18\x02 \x01(\v2&.net.proto2.go.open2opaque.stats.FrameR\x02fn\x12>\n" +
+	"\x06caller\x18\x03 \x01(\v2&.net.proto2.go.open2opaque.stats.FrameR\x06caller\"\xb9\x01\n" +
+	"\x05Frame\x12\x1a\n" +
+	"\bfunction\x18\x01 \x01(\tR\bfunction\x12\x1f\n" +
+	"\vis_exported\x18\x06 \x01(\bR\n" +
+	"isExported\x12\x18\n" +
+	"\apackage\x18\x02 \x01(\tR\apackage\x12\x12\n" +
+	"\x04file\x18\x03 \x01(\tR\x04file\x12\x12\n" +
+	"\x04line\x18\x04 \x01(\tR\x04line\x12\x14\n" +
+	"\x05index\x18\x05 \x01(\x03R\x05index\x12\x1b\n" +
+	"\tpkg_index\x18\a \x01(\x03R\bpkgIndex\"r\n" +
+	"\vFieldAccess\x12\x1d\n" +
+	"\n" +
+	"field_name\x18\x01 \x01(\tR\tfieldName\x12D\n" +
+	"\n" +
+	"field_type\x18\x02 \x01(\v2%.net.proto2.go.open2opaque.stats.TypeR\tfieldType\"\x9d\x01\n" +
+	"\n" +
+	"MethodCall\x12\x16\n" +
+	"\x06method\x18\x01 \x01(\tR\x06method\x12D\n" +
+	"\x04type\x18\x02 \x01(\x0e20.net.proto2.go.open2opaque.stats.MethodCall.TypeR\x04type\"1\n" +
+	"\x04Type\x12\v\n" +
+	"\aINVALID\x10\x00\x12\r\n" +
+	"\tGET_ONEOF\x10\x01\x12\r\n" +
+	"\tGET_BUILD\x10\x02\"\xa8\x01\n" +
+	"\vConstructor\x12E\n" +
+	"\x04type\x18\x01 \x01(\x0e21.net.proto2.go.open2opaque.stats.Constructor.TypeR\x04type\"R\n" +
+	"\x04Type\x12\x14\n" +
+	"\x10TYPE_UNSPECIFIED\x10\x00\x12\x11\n" +
+	"\rEMPTY_LITERAL\x10\x01\x12\x14\n" +
+	"\x10NONEMPTY_LITERAL\x10\x02\x12\v\n" +
+	"\aBUILDER\x10\x03\"\xea\x02\n" +
+	"\n" +
+	"Conversion\x12$\n" +
+	"\x0edest_type_name\x18\x01 \x01(\tR\fdestTypeName\x12C\n" +
+	"\bfunc_arg\x18\x03 \x01(\v2(.net.proto2.go.open2opaque.stats.FuncArgR\afuncArg\x12M\n" +
+	"\acontext\x18\x02 \x01(\x0e23.net.proto2.go.open2opaque.stats.Conversion.ContextR\acontext\"\xa1\x01\n" +
+	"\aContext\x12\x17\n" +
+	"\x13CONTEXT_UNSPECIFIED\x10\x00\x12\x11\n" +
+	"\rCALL_ARGUMENT\x10\x01\x12\x10\n" +
+	"\fRETURN_VALUE\x10\x02\x12\x0e\n" +
+	"\n" +
+	"ASSIGNMENT\x10\x03\x12\f\n" +
+	"\bEXPLICIT\x10\x04\x12\x1d\n" +
+	"\x19COMPOSITE_LITERAL_ELEMENT\x10\x05\x12\r\n" +
+	"\tCHAN_SEND\x10\x06\x12\f\n" +
+	"\bFUNC_RET\x10\a\"o\n" +
+	"\aFuncArg\x12#\n" +
+	"\rfunction_name\x18\x01 \x01(\tR\ffunctionName\x12!\n" +
+	"\fpackage_path\x18\x02 \x01(\tR\vpackagePath\x12\x1c\n" +
+	"\tsignature\x18\x03 \x01(\tR\tsignature\"Q\n" +
+	"\rTypeAssertion\x12@\n" +
+	"\bsrc_type\x18\x01 \x01(\v2%.net.proto2.go.open2opaque.stats.TypeR\asrcType\"R\n" +
+	"\x0eTypeDefinition\x12@\n" +
+	"\bnew_type\x18\x01 \x01(\v2%.net.proto2.go.open2opaque.stats.TypeR\anewType\",\n" +
+	"\tEmbedding\x12\x1f\n" +
+	"\vfield_index\x18\x01 \x01(\x03R\n" +
+	"fieldIndex\"\x1c\n" +
+	"\x06Source\x12\x12\n" +
+	"\x04file\x18\x01 \x01(\tR\x04file\"\xcd\x01\n" +
+	"\vShallowCopy\x12E\n" +
+	"\x04type\x18\x01 \x01(\x0e21.net.proto2.go.open2opaque.stats.ShallowCopy.TypeR\x04type\"w\n" +
+	"\x04Type\x12\x14\n" +
+	"\x10TYPE_UNSPECIFIED\x10\x00\x12\n" +
+	"\n" +
+	"\x06ASSIGN\x10\x01\x12\x11\n" +
+	"\rCALL_ARGUMENT\x10\x02\x12\f\n" +
+	"\bFUNC_RET\x10\x03\x12\x1d\n" +
+	"\x19COMPOSITE_LITERAL_ELEMENT\x10\x04\x12\r\n" +
+	"\tCHAN_SEND\x10\x05*W\n" +
+	"\fRewriteLevel\x12\x1d\n" +
+	"\x19REWRITE_LEVEL_UNSPECIFIED\x10\x00\x12\b\n" +
+	"\x04NONE\x10\x01\x12\t\n" +
+	"\x05GREEN\x10\x02\x12\n" +
+	"\n" +
+	"\x06YELLOW\x10\x03\x12\a\n" +
+	"\x03RED\x10\x04B\n" +
+	"\x92\x03\a\xd2>\x02\x10\x02\b\x02b\beditionsp\xe8\a"
 
 var file_stats_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
 var file_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
@@ -2840,7 +2723,7 @@
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_stats_proto_rawDesc,
+			RawDescriptor: unsafe.Slice(unsafe.StringData(file_stats_proto_rawDesc), len(file_stats_proto_rawDesc)),
 			NumEnums:      7,
 			NumMessages:   19,
 			NumExtensions: 0,
@@ -2852,7 +2735,6 @@
 		MessageInfos:      file_stats_proto_msgTypes,
 	}.Build()
 	File_stats_proto = out.File
-	file_stats_proto_rawDesc = nil
 	file_stats_proto_goTypes = nil
 	file_stats_proto_depIdxs = nil
 }
diff --git a/internal/dashboard/stats_protoopaque.pb.go b/internal/dashboard/stats_protoopaque.pb.go
index ab0fa59..0e9f8c1 100644
--- a/internal/dashboard/stats_protoopaque.pb.go
+++ b/internal/dashboard/stats_protoopaque.pb.go
@@ -4,8 +4,8 @@
 
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.35.2-devel
-// 	protoc        v5.29.1
+// 	protoc-gen-go v1.36.8
+// 	protoc        v6.32.0
 // source: stats.proto
 
 //go:build protoopaque
@@ -17,6 +17,7 @@
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	_ "google.golang.org/protobuf/types/gofeaturespb"
 	reflect "reflect"
+	unsafe "unsafe"
 )
 
 const (
@@ -407,13 +408,13 @@
 // migration to opaque Go protocol buffer API.
 type Entry struct {
 	state               protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_Status   *Status                `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
-	xxx_hidden_Location *Location              `protobuf:"bytes,2,opt,name=location" json:"location,omitempty"`
-	xxx_hidden_Level    RewriteLevel           `protobuf:"varint,3,opt,name=level,enum=net.proto2.go.open2opaque.stats.RewriteLevel" json:"level,omitempty"`
-	xxx_hidden_Type     *Type                  `protobuf:"bytes,4,opt,name=type" json:"type,omitempty"`
-	xxx_hidden_Expr     *Expression            `protobuf:"bytes,5,opt,name=expr" json:"expr,omitempty"`
-	xxx_hidden_Use      *Use                   `protobuf:"bytes,6,opt,name=use" json:"use,omitempty"`
-	xxx_hidden_Source   *Source                `protobuf:"bytes,7,opt,name=source" json:"source,omitempty"`
+	xxx_hidden_Status   *Status                `protobuf:"bytes,1,opt,name=status"`
+	xxx_hidden_Location *Location              `protobuf:"bytes,2,opt,name=location"`
+	xxx_hidden_Level    RewriteLevel           `protobuf:"varint,3,opt,name=level,enum=net.proto2.go.open2opaque.stats.RewriteLevel"`
+	xxx_hidden_Type     *Type                  `protobuf:"bytes,4,opt,name=type"`
+	xxx_hidden_Expr     *Expression            `protobuf:"bytes,5,opt,name=expr"`
+	xxx_hidden_Use      *Use                   `protobuf:"bytes,6,opt,name=use"`
+	xxx_hidden_Source   *Source                `protobuf:"bytes,7,opt,name=source"`
 	unknownFields       protoimpl.UnknownFields
 	sizeCache           protoimpl.SizeCache
 }
@@ -628,11 +629,11 @@
 // Location represents location of an expression in a Go file.
 type Location struct {
 	state                      protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_Package         string                 `protobuf:"bytes,1,opt,name=package" json:"package,omitempty"`
-	xxx_hidden_File            string                 `protobuf:"bytes,2,opt,name=file" json:"file,omitempty"`
-	xxx_hidden_IsGeneratedFile bool                   `protobuf:"varint,3,opt,name=is_generated_file,json=isGeneratedFile" json:"is_generated_file,omitempty"`
-	xxx_hidden_Start           *Position              `protobuf:"bytes,4,opt,name=start" json:"start,omitempty"`
-	xxx_hidden_End             *Position              `protobuf:"bytes,5,opt,name=end" json:"end,omitempty"`
+	xxx_hidden_Package         string                 `protobuf:"bytes,1,opt,name=package"`
+	xxx_hidden_File            string                 `protobuf:"bytes,2,opt,name=file"`
+	xxx_hidden_IsGeneratedFile bool                   `protobuf:"varint,3,opt,name=is_generated_file,json=isGeneratedFile"`
+	xxx_hidden_Start           *Position              `protobuf:"bytes,4,opt,name=start"`
+	xxx_hidden_End             *Position              `protobuf:"bytes,5,opt,name=end"`
 	unknownFields              protoimpl.UnknownFields
 	sizeCache                  protoimpl.SizeCache
 }
@@ -769,8 +770,8 @@
 // Position describes a position in a Go file.
 type Position struct {
 	state             protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_Line   int64                  `protobuf:"varint,1,opt,name=line" json:"line,omitempty"`
-	xxx_hidden_Column int64                  `protobuf:"varint,2,opt,name=column" json:"column,omitempty"`
+	xxx_hidden_Line   int64                  `protobuf:"varint,1,opt,name=line"`
+	xxx_hidden_Column int64                  `protobuf:"varint,2,opt,name=column"`
 	unknownFields     protoimpl.UnknownFields
 	sizeCache         protoimpl.SizeCache
 }
@@ -842,8 +843,8 @@
 // success.
 type Status struct {
 	state            protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_Type  Status_Type            `protobuf:"varint,1,opt,name=type,enum=net.proto2.go.open2opaque.stats.Status_Type" json:"type,omitempty"`
-	xxx_hidden_Error string                 `protobuf:"bytes,2,opt,name=error" json:"error,omitempty"`
+	xxx_hidden_Type  Status_Type            `protobuf:"varint,1,opt,name=type,enum=net.proto2.go.open2opaque.stats.Status_Type"`
+	xxx_hidden_Error string                 `protobuf:"bytes,2,opt,name=error"`
 	unknownFields    protoimpl.UnknownFields
 	sizeCache        protoimpl.SizeCache
 }
@@ -914,8 +915,8 @@
 // Type represents a Go name for a protocol buffer type.
 type Type struct {
 	state                protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_ShortName string                 `protobuf:"bytes,1,opt,name=short_name,json=shortName" json:"short_name,omitempty"`
-	xxx_hidden_LongName  string                 `protobuf:"bytes,2,opt,name=long_name,json=longName" json:"long_name,omitempty"`
+	xxx_hidden_ShortName string                 `protobuf:"bytes,1,opt,name=short_name,json=shortName"`
+	xxx_hidden_LongName  string                 `protobuf:"bytes,2,opt,name=long_name,json=longName"`
 	unknownFields        protoimpl.UnknownFields
 	sizeCache            protoimpl.SizeCache
 }
@@ -990,8 +991,8 @@
 // Expression describes a Go expression.
 type Expression struct {
 	state                 protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_Type       string                 `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"`
-	xxx_hidden_ParentType string                 `protobuf:"bytes,2,opt,name=parent_type,json=parentType" json:"parent_type,omitempty"`
+	xxx_hidden_Type       string                 `protobuf:"bytes,1,opt,name=type"`
+	xxx_hidden_ParentType string                 `protobuf:"bytes,2,opt,name=parent_type,json=parentType"`
 	unknownFields         protoimpl.UnknownFields
 	sizeCache             protoimpl.SizeCache
 }
@@ -1064,18 +1065,18 @@
 // Use describes a use of a protocol buffer type in Go.
 type Use struct {
 	state                          protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_Type                Use_Type               `protobuf:"varint,1,opt,name=type,enum=net.proto2.go.open2opaque.stats.Use_Type" json:"type,omitempty"`
-	xxx_hidden_DirectFieldAccess   *FieldAccess           `protobuf:"bytes,2,opt,name=direct_field_access,json=directFieldAccess" json:"direct_field_access,omitempty"`
-	xxx_hidden_MethodCall          *MethodCall            `protobuf:"bytes,3,opt,name=method_call,json=methodCall" json:"method_call,omitempty"`
-	xxx_hidden_Constructor         *Constructor           `protobuf:"bytes,4,opt,name=constructor" json:"constructor,omitempty"`
-	xxx_hidden_Conversion          *Conversion            `protobuf:"bytes,5,opt,name=conversion" json:"conversion,omitempty"`
-	xxx_hidden_FuncArg             *FuncArg               `protobuf:"bytes,6,opt,name=func_arg,json=funcArg" json:"func_arg,omitempty"`
-	xxx_hidden_TypeAssertion       *TypeAssertion         `protobuf:"bytes,7,opt,name=type_assertion,json=typeAssertion" json:"type_assertion,omitempty"`
-	xxx_hidden_TypeDefinition      *TypeDefinition        `protobuf:"bytes,8,opt,name=type_definition,json=typeDefinition" json:"type_definition,omitempty"`
-	xxx_hidden_Embedding           *Embedding             `protobuf:"bytes,9,opt,name=embedding" json:"embedding,omitempty"`
-	xxx_hidden_InternalFieldAccess *FieldAccess           `protobuf:"bytes,10,opt,name=internal_field_access,json=internalFieldAccess" json:"internal_field_access,omitempty"`
-	xxx_hidden_ReflectCall         *ReflectCall           `protobuf:"bytes,11,opt,name=reflect_call,json=reflectCall" json:"reflect_call,omitempty"`
-	xxx_hidden_ShallowCopy         *ShallowCopy           `protobuf:"bytes,12,opt,name=shallow_copy,json=shallowCopy" json:"shallow_copy,omitempty"`
+	xxx_hidden_Type                Use_Type               `protobuf:"varint,1,opt,name=type,enum=net.proto2.go.open2opaque.stats.Use_Type"`
+	xxx_hidden_DirectFieldAccess   *FieldAccess           `protobuf:"bytes,2,opt,name=direct_field_access,json=directFieldAccess"`
+	xxx_hidden_MethodCall          *MethodCall            `protobuf:"bytes,3,opt,name=method_call,json=methodCall"`
+	xxx_hidden_Constructor         *Constructor           `protobuf:"bytes,4,opt,name=constructor"`
+	xxx_hidden_Conversion          *Conversion            `protobuf:"bytes,5,opt,name=conversion"`
+	xxx_hidden_FuncArg             *FuncArg               `protobuf:"bytes,6,opt,name=func_arg,json=funcArg"`
+	xxx_hidden_TypeAssertion       *TypeAssertion         `protobuf:"bytes,7,opt,name=type_assertion,json=typeAssertion"`
+	xxx_hidden_TypeDefinition      *TypeDefinition        `protobuf:"bytes,8,opt,name=type_definition,json=typeDefinition"`
+	xxx_hidden_Embedding           *Embedding             `protobuf:"bytes,9,opt,name=embedding"`
+	xxx_hidden_InternalFieldAccess *FieldAccess           `protobuf:"bytes,10,opt,name=internal_field_access,json=internalFieldAccess"`
+	xxx_hidden_ReflectCall         *ReflectCall           `protobuf:"bytes,11,opt,name=reflect_call,json=reflectCall"`
+	xxx_hidden_ShallowCopy         *ShallowCopy           `protobuf:"bytes,12,opt,name=shallow_copy,json=shallowCopy"`
 	unknownFields                  protoimpl.UnknownFields
 	sizeCache                      protoimpl.SizeCache
 }
@@ -1397,9 +1398,9 @@
 // ReflectCall represents a call to the Go reflection API.
 type ReflectCall struct {
 	state             protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_Frames *[]*Frame              `protobuf:"bytes,1,rep,name=frames" json:"frames,omitempty"`
-	xxx_hidden_Fn     *Frame                 `protobuf:"bytes,2,opt,name=fn" json:"fn,omitempty"`
-	xxx_hidden_Caller *Frame                 `protobuf:"bytes,3,opt,name=caller" json:"caller,omitempty"`
+	xxx_hidden_Frames *[]*Frame              `protobuf:"bytes,1,rep,name=frames"`
+	xxx_hidden_Fn     *Frame                 `protobuf:"bytes,2,opt,name=fn"`
+	xxx_hidden_Caller *Frame                 `protobuf:"bytes,3,opt,name=caller"`
 	unknownFields     protoimpl.UnknownFields
 	sizeCache         protoimpl.SizeCache
 }
@@ -1532,13 +1533,13 @@
 // stacktrace.
 type Frame struct {
 	state                 protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_Function   string                 `protobuf:"bytes,1,opt,name=function" json:"function,omitempty"`
-	xxx_hidden_IsExported bool                   `protobuf:"varint,6,opt,name=is_exported,json=isExported" json:"is_exported,omitempty"`
-	xxx_hidden_Package    string                 `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
-	xxx_hidden_File       string                 `protobuf:"bytes,3,opt,name=file" json:"file,omitempty"`
-	xxx_hidden_Line       string                 `protobuf:"bytes,4,opt,name=line" json:"line,omitempty"`
-	xxx_hidden_Index      int64                  `protobuf:"varint,5,opt,name=index" json:"index,omitempty"`
-	xxx_hidden_PkgIndex   int64                  `protobuf:"varint,7,opt,name=pkg_index,json=pkgIndex" json:"pkg_index,omitempty"`
+	xxx_hidden_Function   string                 `protobuf:"bytes,1,opt,name=function"`
+	xxx_hidden_IsExported bool                   `protobuf:"varint,6,opt,name=is_exported,json=isExported"`
+	xxx_hidden_Package    string                 `protobuf:"bytes,2,opt,name=package"`
+	xxx_hidden_File       string                 `protobuf:"bytes,3,opt,name=file"`
+	xxx_hidden_Line       string                 `protobuf:"bytes,4,opt,name=line"`
+	xxx_hidden_Index      int64                  `protobuf:"varint,5,opt,name=index"`
+	xxx_hidden_PkgIndex   int64                  `protobuf:"varint,7,opt,name=pkg_index,json=pkgIndex"`
 	unknownFields         protoimpl.UnknownFields
 	sizeCache             protoimpl.SizeCache
 }
@@ -1690,8 +1691,8 @@
 
 type FieldAccess struct {
 	state                protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_FieldName string                 `protobuf:"bytes,1,opt,name=field_name,json=fieldName" json:"field_name,omitempty"`
-	xxx_hidden_FieldType *Type                  `protobuf:"bytes,2,opt,name=field_type,json=fieldType" json:"field_type,omitempty"`
+	xxx_hidden_FieldName string                 `protobuf:"bytes,1,opt,name=field_name,json=fieldName"`
+	xxx_hidden_FieldType *Type                  `protobuf:"bytes,2,opt,name=field_type,json=fieldType"`
 	unknownFields        protoimpl.UnknownFields
 	sizeCache            protoimpl.SizeCache
 }
@@ -1772,8 +1773,8 @@
 
 type MethodCall struct {
 	state             protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_Method string                 `protobuf:"bytes,1,opt,name=method" json:"method,omitempty"`
-	xxx_hidden_Type   MethodCall_Type        `protobuf:"varint,2,opt,name=type,enum=net.proto2.go.open2opaque.stats.MethodCall_Type" json:"type,omitempty"`
+	xxx_hidden_Method string                 `protobuf:"bytes,1,opt,name=method"`
+	xxx_hidden_Type   MethodCall_Type        `protobuf:"varint,2,opt,name=type,enum=net.proto2.go.open2opaque.stats.MethodCall_Type"`
 	unknownFields     protoimpl.UnknownFields
 	sizeCache         protoimpl.SizeCache
 }
@@ -1843,7 +1844,7 @@
 
 type Constructor struct {
 	state           protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_Type Constructor_Type       `protobuf:"varint,1,opt,name=type,enum=net.proto2.go.open2opaque.stats.Constructor_Type" json:"type,omitempty"`
+	xxx_hidden_Type Constructor_Type       `protobuf:"varint,1,opt,name=type,enum=net.proto2.go.open2opaque.stats.Constructor_Type"`
 	unknownFields   protoimpl.UnknownFields
 	sizeCache       protoimpl.SizeCache
 }
@@ -1900,9 +1901,9 @@
 
 type Conversion struct {
 	state                   protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_DestTypeName string                 `protobuf:"bytes,1,opt,name=dest_type_name,json=destTypeName" json:"dest_type_name,omitempty"`
-	xxx_hidden_FuncArg      *FuncArg               `protobuf:"bytes,3,opt,name=func_arg,json=funcArg" json:"func_arg,omitempty"`
-	xxx_hidden_Context      Conversion_Context     `protobuf:"varint,2,opt,name=context,enum=net.proto2.go.open2opaque.stats.Conversion_Context" json:"context,omitempty"`
+	xxx_hidden_DestTypeName string                 `protobuf:"bytes,1,opt,name=dest_type_name,json=destTypeName"`
+	xxx_hidden_FuncArg      *FuncArg               `protobuf:"bytes,3,opt,name=func_arg,json=funcArg"`
+	xxx_hidden_Context      Conversion_Context     `protobuf:"varint,2,opt,name=context,enum=net.proto2.go.open2opaque.stats.Conversion_Context"`
 	unknownFields           protoimpl.UnknownFields
 	sizeCache               protoimpl.SizeCache
 }
@@ -2002,9 +2003,9 @@
 
 type FuncArg struct {
 	state                   protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_FunctionName string                 `protobuf:"bytes,1,opt,name=function_name,json=functionName" json:"function_name,omitempty"`
-	xxx_hidden_PackagePath  string                 `protobuf:"bytes,2,opt,name=package_path,json=packagePath" json:"package_path,omitempty"`
-	xxx_hidden_Signature    string                 `protobuf:"bytes,3,opt,name=signature" json:"signature,omitempty"`
+	xxx_hidden_FunctionName string                 `protobuf:"bytes,1,opt,name=function_name,json=functionName"`
+	xxx_hidden_PackagePath  string                 `protobuf:"bytes,2,opt,name=package_path,json=packagePath"`
+	xxx_hidden_Signature    string                 `protobuf:"bytes,3,opt,name=signature"`
 	unknownFields           protoimpl.UnknownFields
 	sizeCache               protoimpl.SizeCache
 }
@@ -2098,7 +2099,7 @@
 
 type TypeAssertion struct {
 	state              protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_SrcType *Type                  `protobuf:"bytes,1,opt,name=src_type,json=srcType" json:"src_type,omitempty"`
+	xxx_hidden_SrcType *Type                  `protobuf:"bytes,1,opt,name=src_type,json=srcType"`
 	unknownFields      protoimpl.UnknownFields
 	sizeCache          protoimpl.SizeCache
 }
@@ -2167,7 +2168,7 @@
 
 type TypeDefinition struct {
 	state              protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_NewType *Type                  `protobuf:"bytes,1,opt,name=new_type,json=newType" json:"new_type,omitempty"`
+	xxx_hidden_NewType *Type                  `protobuf:"bytes,1,opt,name=new_type,json=newType"`
 	unknownFields      protoimpl.UnknownFields
 	sizeCache          protoimpl.SizeCache
 }
@@ -2236,7 +2237,7 @@
 
 type Embedding struct {
 	state                 protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_FieldIndex int64                  `protobuf:"varint,1,opt,name=field_index,json=fieldIndex" json:"field_index,omitempty"`
+	xxx_hidden_FieldIndex int64                  `protobuf:"varint,1,opt,name=field_index,json=fieldIndex"`
 	unknownFields         protoimpl.UnknownFields
 	sizeCache             protoimpl.SizeCache
 }
@@ -2293,7 +2294,7 @@
 
 type Source struct {
 	state           protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_File string                 `protobuf:"bytes,1,opt,name=file" json:"file,omitempty"`
+	xxx_hidden_File string                 `protobuf:"bytes,1,opt,name=file"`
 	unknownFields   protoimpl.UnknownFields
 	sizeCache       protoimpl.SizeCache
 }
@@ -2354,7 +2355,7 @@
 // (pointers to Go structs generated by the proto generor).
 type ShallowCopy struct {
 	state           protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_Type ShallowCopy_Type       `protobuf:"varint,1,opt,name=type,enum=net.proto2.go.open2opaque.stats.ShallowCopy_Type" json:"type,omitempty"`
+	xxx_hidden_Type ShallowCopy_Type       `protobuf:"varint,1,opt,name=type,enum=net.proto2.go.open2opaque.stats.ShallowCopy_Type"`
 	unknownFields   protoimpl.UnknownFields
 	sizeCache       protoimpl.SizeCache
 }
@@ -2411,272 +2412,154 @@
 
 var File_stats_proto protoreflect.FileDescriptor
 
-var file_stats_proto_rawDesc = []byte{
-	0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x6e,
-	0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65,
-	0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 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, 0xc9, 0x03, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x06, 0x73,
-	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65,
-	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
-	0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53, 0x74,
-	0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x45, 0x0a, 0x08,
-	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
-	0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f,
-	0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73,
-	0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01,
-	0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
-	0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73,
-	0x74, 0x61, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65,
-	0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
-	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71,
-	0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74,
-	0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74,
-	0x61, 0x74, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04,
-	0x65, 0x78, 0x70, 0x72, 0x12, 0x36, 0x0a, 0x03, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74,
-	0x61, 0x74, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x52, 0x03, 0x75, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x06,
-	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e,
-	0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65,
-	0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53,
-	0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xe2, 0x01,
-	0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61,
-	0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63,
-	0x6b, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x67,
-	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64,
-	0x46, 0x69, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
-	0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
-	0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05,
-	0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x3b, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
-	0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73,
-	0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x65,
-	0x6e, 0x64, 0x22, 0x36, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12,
-	0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69,
-	0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x9a, 0x01, 0x0a, 0x06, 0x53,
-	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x40, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
-	0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
-	0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x54, 0x79, 0x70,
-	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
-	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x38, 0x0a,
-	0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
-	0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f,
-	0x4b, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x02, 0x12, 0x08, 0x0a,
-	0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x22, 0x42, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12,
-	0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b,
-	0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x08, 0x6c, 0x6f, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x0a, 0x45,
-	0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
-	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a,
-	0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xc8,
-	0x09, 0x0a, 0x03, 0x55, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
-	0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
-	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x5c, 0x0a, 0x13, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f,
-	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
-	0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73,
-	0x74, 0x61, 0x74, 0x73, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
-	0x52, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63,
-	0x65, 0x73, 0x73, 0x12, 0x4c, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x63, 0x61,
-	0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70,
-	0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f,
-	0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43, 0x61, 0x6c,
-	0x6c, 0x12, 0x4e, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72,
-	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71,
-	0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75,
-	0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f,
-	0x72, 0x12, 0x4b, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
-	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75,
-	0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69,
-	0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43,
-	0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x61, 0x72, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x28, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f,
-	0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61,
-	0x74, 0x73, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x41, 0x72, 0x67, 0x52, 0x07, 0x66, 0x75, 0x6e, 0x63,
-	0x41, 0x72, 0x67, 0x12, 0x55, 0x0a, 0x0e, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65,
-	0x72, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6e, 0x65,
-	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
-	0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x54, 0x79,
-	0x70, 0x65, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x74, 0x79, 0x70,
-	0x65, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x0f, 0x74, 0x79,
-	0x70, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
-	0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
-	0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69,
-	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x74, 0x79, 0x70, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69,
-	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x09, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e,
-	0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61,
-	0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64,
-	0x69, 0x6e, 0x67, 0x52, 0x09, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x60,
-	0x0a, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64,
-	0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
-	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70,
-	0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e,
-	0x46, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x13, 0x69, 0x6e, 0x74,
-	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
-	0x12, 0x4f, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
-	0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71,
-	0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74,
-	0x43, 0x61, 0x6c, 0x6c, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x61, 0x6c,
-	0x6c, 0x12, 0x4f, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x70,
-	0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61,
-	0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f,
-	0x77, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f,
-	0x70, 0x79, 0x22, 0xf4, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54,
-	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
-	0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c,
-	0x44, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x45,
-	0x54, 0x48, 0x4f, 0x44, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43,
-	0x4f, 0x4e, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a,
-	0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e,
-	0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05,
-	0x12, 0x13, 0x0a, 0x0f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x49, 0x54,
-	0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x49,
-	0x4e, 0x47, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c,
-	0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x08, 0x12,
-	0x10, 0x0a, 0x0c, 0x52, 0x45, 0x46, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10,
-	0x09, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x48, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x50,
-	0x59, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x44, 0x45, 0x50,
-	0x45, 0x4e, 0x44, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x0b, 0x22, 0xc5, 0x01, 0x0a, 0x0b, 0x52, 0x65,
-	0x66, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x3e, 0x0a, 0x06, 0x66, 0x72, 0x61,
-	0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x74, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f,
-	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x46, 0x72, 0x61, 0x6d,
-	0x65, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x02, 0x66, 0x6e, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75,
-	0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x02, 0x66,
-	0x6e, 0x12, 0x3e, 0x0a, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74,
-	0x61, 0x74, 0x73, 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x65,
-	0x72, 0x22, 0xb9, 0x01, 0x0a, 0x05, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66,
-	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66,
-	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, 0x78,
-	0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73,
-	0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b,
-	0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61,
-	0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e,
-	0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
-	0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6b, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x6b, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x72, 0x0a,
-	0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
-	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x66,
-	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x25, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e,
-	0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74,
-	0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70,
-	0x65, 0x22, 0x9d, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43, 0x61, 0x6c, 0x6c,
-	0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x44, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
-	0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71,
-	0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43,
-	0x61, 0x6c, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x31,
-	0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49,
-	0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x45, 0x54, 0x5f, 0x4f, 0x4e, 0x45, 0x4f, 0x46,
-	0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10,
-	0x02, 0x22, 0xa8, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f,
-	0x72, 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
-	0x31, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e,
-	0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74,
-	0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x79,
-	0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65,
-	0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
-	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f,
-	0x4c, 0x49, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x4e,
-	0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x4c, 0x49, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x02, 0x12,
-	0x0b, 0x0a, 0x07, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x03, 0x22, 0xea, 0x02, 0x0a,
-	0x0a, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x64,
-	0x65, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d,
-	0x65, 0x12, 0x43, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
-	0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
-	0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x41, 0x72, 0x67, 0x52, 0x07, 0x66,
-	0x75, 0x6e, 0x63, 0x41, 0x72, 0x67, 0x12, 0x4d, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
-	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61,
-	0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72,
-	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f,
-	0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
-	0x74, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x55, 0x4e, 0x53,
-	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x41,
-	0x4c, 0x4c, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a,
-	0x0c, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x12,
-	0x0e, 0x0a, 0x0a, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12,
-	0x0c, 0x0a, 0x08, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x04, 0x12, 0x1d, 0x0a,
-	0x19, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x54, 0x45, 0x52,
-	0x41, 0x4c, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09,
-	0x43, 0x48, 0x41, 0x4e, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x46,
-	0x55, 0x4e, 0x43, 0x5f, 0x52, 0x45, 0x54, 0x10, 0x07, 0x22, 0x6f, 0x0a, 0x07, 0x46, 0x75, 0x6e,
-	0x63, 0x41, 0x72, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
-	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x75, 0x6e,
-	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63,
-	0x6b, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09,
-	0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x51, 0x0a, 0x0d, 0x54, 0x79,
-	0x70, 0x65, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x73,
-	0x72, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
-	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70,
-	0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e,
-	0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x73, 0x72, 0x63, 0x54, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a,
-	0x0e, 0x54, 0x79, 0x70, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12,
-	0x40, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74,
-	0x61, 0x74, 0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x54, 0x79, 0x70,
-	0x65, 0x22, 0x2c, 0x0a, 0x09, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1f,
-	0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22,
-	0x1c, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c,
-	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x22, 0xcd, 0x01,
-	0x0a, 0x0b, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x45, 0x0a,
-	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6e, 0x65,
-	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
-	0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53, 0x68,
-	0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
-	0x74, 0x79, 0x70, 0x65, 0x22, 0x77, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10,
-	0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
-	0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x11,
-	0x0a, 0x0d, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10,
-	0x02, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x52, 0x45, 0x54, 0x10, 0x03, 0x12,
-	0x1d, 0x0a, 0x19, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x54,
-	0x45, 0x52, 0x41, 0x4c, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x0d,
-	0x0a, 0x09, 0x43, 0x48, 0x41, 0x4e, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x10, 0x05, 0x2a, 0x57, 0x0a,
-	0x0c, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a,
-	0x19, 0x52, 0x45, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55,
-	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04,
-	0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x10,
-	0x02, 0x12, 0x0a, 0x0a, 0x06, 0x59, 0x45, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x12, 0x07, 0x0a,
-	0x03, 0x52, 0x45, 0x44, 0x10, 0x04, 0x42, 0x0a, 0x92, 0x03, 0x07, 0xd2, 0x3e, 0x02, 0x10, 0x02,
-	0x08, 0x02, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
-}
+const file_stats_proto_rawDesc = "" +
+	"\n" +
+	"\vstats.proto\x12\x1fnet.proto2.go.open2opaque.stats\x1a!google/protobuf/go_features.proto\"\xc9\x03\n" +
+	"\x05Entry\x12?\n" +
+	"\x06status\x18\x01 \x01(\v2'.net.proto2.go.open2opaque.stats.StatusR\x06status\x12E\n" +
+	"\blocation\x18\x02 \x01(\v2).net.proto2.go.open2opaque.stats.LocationR\blocation\x12C\n" +
+	"\x05level\x18\x03 \x01(\x0e2-.net.proto2.go.open2opaque.stats.RewriteLevelR\x05level\x129\n" +
+	"\x04type\x18\x04 \x01(\v2%.net.proto2.go.open2opaque.stats.TypeR\x04type\x12?\n" +
+	"\x04expr\x18\x05 \x01(\v2+.net.proto2.go.open2opaque.stats.ExpressionR\x04expr\x126\n" +
+	"\x03use\x18\x06 \x01(\v2$.net.proto2.go.open2opaque.stats.UseR\x03use\x12?\n" +
+	"\x06source\x18\a \x01(\v2'.net.proto2.go.open2opaque.stats.SourceR\x06source\"\xe2\x01\n" +
+	"\bLocation\x12\x18\n" +
+	"\apackage\x18\x01 \x01(\tR\apackage\x12\x12\n" +
+	"\x04file\x18\x02 \x01(\tR\x04file\x12*\n" +
+	"\x11is_generated_file\x18\x03 \x01(\bR\x0fisGeneratedFile\x12?\n" +
+	"\x05start\x18\x04 \x01(\v2).net.proto2.go.open2opaque.stats.PositionR\x05start\x12;\n" +
+	"\x03end\x18\x05 \x01(\v2).net.proto2.go.open2opaque.stats.PositionR\x03end\"6\n" +
+	"\bPosition\x12\x12\n" +
+	"\x04line\x18\x01 \x01(\x03R\x04line\x12\x16\n" +
+	"\x06column\x18\x02 \x01(\x03R\x06column\"\x9a\x01\n" +
+	"\x06Status\x12@\n" +
+	"\x04type\x18\x01 \x01(\x0e2,.net.proto2.go.open2opaque.stats.Status.TypeR\x04type\x12\x14\n" +
+	"\x05error\x18\x02 \x01(\tR\x05error\"8\n" +
+	"\x04Type\x12\x14\n" +
+	"\x10UNSPECIFIED_TYPE\x10\x00\x12\x06\n" +
+	"\x02OK\x10\x01\x12\b\n" +
+	"\x04SKIP\x10\x02\x12\b\n" +
+	"\x04FAIL\x10\x03\"B\n" +
+	"\x04Type\x12\x1d\n" +
+	"\n" +
+	"short_name\x18\x01 \x01(\tR\tshortName\x12\x1b\n" +
+	"\tlong_name\x18\x02 \x01(\tR\blongName\"A\n" +
+	"\n" +
+	"Expression\x12\x12\n" +
+	"\x04type\x18\x01 \x01(\tR\x04type\x12\x1f\n" +
+	"\vparent_type\x18\x02 \x01(\tR\n" +
+	"parentType\"\xc8\t\n" +
+	"\x03Use\x12=\n" +
+	"\x04type\x18\x01 \x01(\x0e2).net.proto2.go.open2opaque.stats.Use.TypeR\x04type\x12\\\n" +
+	"\x13direct_field_access\x18\x02 \x01(\v2,.net.proto2.go.open2opaque.stats.FieldAccessR\x11directFieldAccess\x12L\n" +
+	"\vmethod_call\x18\x03 \x01(\v2+.net.proto2.go.open2opaque.stats.MethodCallR\n" +
+	"methodCall\x12N\n" +
+	"\vconstructor\x18\x04 \x01(\v2,.net.proto2.go.open2opaque.stats.ConstructorR\vconstructor\x12K\n" +
+	"\n" +
+	"conversion\x18\x05 \x01(\v2+.net.proto2.go.open2opaque.stats.ConversionR\n" +
+	"conversion\x12C\n" +
+	"\bfunc_arg\x18\x06 \x01(\v2(.net.proto2.go.open2opaque.stats.FuncArgR\afuncArg\x12U\n" +
+	"\x0etype_assertion\x18\a \x01(\v2..net.proto2.go.open2opaque.stats.TypeAssertionR\rtypeAssertion\x12X\n" +
+	"\x0ftype_definition\x18\b \x01(\v2/.net.proto2.go.open2opaque.stats.TypeDefinitionR\x0etypeDefinition\x12H\n" +
+	"\tembedding\x18\t \x01(\v2*.net.proto2.go.open2opaque.stats.EmbeddingR\tembedding\x12`\n" +
+	"\x15internal_field_access\x18\n" +
+	" \x01(\v2,.net.proto2.go.open2opaque.stats.FieldAccessR\x13internalFieldAccess\x12O\n" +
+	"\freflect_call\x18\v \x01(\v2,.net.proto2.go.open2opaque.stats.ReflectCallR\vreflectCall\x12O\n" +
+	"\fshallow_copy\x18\f \x01(\v2,.net.proto2.go.open2opaque.stats.ShallowCopyR\vshallowCopy\"\xf4\x01\n" +
+	"\x04Type\x12\x14\n" +
+	"\x10TYPE_UNSPECIFIED\x10\x00\x12\x17\n" +
+	"\x13DIRECT_FIELD_ACCESS\x10\x01\x12\x0f\n" +
+	"\vMETHOD_CALL\x10\x02\x12\x0f\n" +
+	"\vCONSTRUCTOR\x10\x03\x12\x0e\n" +
+	"\n" +
+	"CONVERSION\x10\x04\x12\x12\n" +
+	"\x0eTYPE_ASSERTION\x10\x05\x12\x13\n" +
+	"\x0fTYPE_DEFINITION\x10\x06\x12\r\n" +
+	"\tEMBEDDING\x10\a\x12\x19\n" +
+	"\x15INTERNAL_FIELD_ACCESS\x10\b\x12\x10\n" +
+	"\fREFLECT_CALL\x10\t\x12\x10\n" +
+	"\fSHALLOW_COPY\x10\n" +
+	"\x12\x14\n" +
+	"\x10BUILD_DEPENDENCY\x10\v\"\xc5\x01\n" +
+	"\vReflectCall\x12>\n" +
+	"\x06frames\x18\x01 \x03(\v2&.net.proto2.go.open2opaque.stats.FrameR\x06frames\x126\n" +
+	"\x02fn\x18\x02 \x01(\v2&.net.proto2.go.open2opaque.stats.FrameR\x02fn\x12>\n" +
+	"\x06caller\x18\x03 \x01(\v2&.net.proto2.go.open2opaque.stats.FrameR\x06caller\"\xb9\x01\n" +
+	"\x05Frame\x12\x1a\n" +
+	"\bfunction\x18\x01 \x01(\tR\bfunction\x12\x1f\n" +
+	"\vis_exported\x18\x06 \x01(\bR\n" +
+	"isExported\x12\x18\n" +
+	"\apackage\x18\x02 \x01(\tR\apackage\x12\x12\n" +
+	"\x04file\x18\x03 \x01(\tR\x04file\x12\x12\n" +
+	"\x04line\x18\x04 \x01(\tR\x04line\x12\x14\n" +
+	"\x05index\x18\x05 \x01(\x03R\x05index\x12\x1b\n" +
+	"\tpkg_index\x18\a \x01(\x03R\bpkgIndex\"r\n" +
+	"\vFieldAccess\x12\x1d\n" +
+	"\n" +
+	"field_name\x18\x01 \x01(\tR\tfieldName\x12D\n" +
+	"\n" +
+	"field_type\x18\x02 \x01(\v2%.net.proto2.go.open2opaque.stats.TypeR\tfieldType\"\x9d\x01\n" +
+	"\n" +
+	"MethodCall\x12\x16\n" +
+	"\x06method\x18\x01 \x01(\tR\x06method\x12D\n" +
+	"\x04type\x18\x02 \x01(\x0e20.net.proto2.go.open2opaque.stats.MethodCall.TypeR\x04type\"1\n" +
+	"\x04Type\x12\v\n" +
+	"\aINVALID\x10\x00\x12\r\n" +
+	"\tGET_ONEOF\x10\x01\x12\r\n" +
+	"\tGET_BUILD\x10\x02\"\xa8\x01\n" +
+	"\vConstructor\x12E\n" +
+	"\x04type\x18\x01 \x01(\x0e21.net.proto2.go.open2opaque.stats.Constructor.TypeR\x04type\"R\n" +
+	"\x04Type\x12\x14\n" +
+	"\x10TYPE_UNSPECIFIED\x10\x00\x12\x11\n" +
+	"\rEMPTY_LITERAL\x10\x01\x12\x14\n" +
+	"\x10NONEMPTY_LITERAL\x10\x02\x12\v\n" +
+	"\aBUILDER\x10\x03\"\xea\x02\n" +
+	"\n" +
+	"Conversion\x12$\n" +
+	"\x0edest_type_name\x18\x01 \x01(\tR\fdestTypeName\x12C\n" +
+	"\bfunc_arg\x18\x03 \x01(\v2(.net.proto2.go.open2opaque.stats.FuncArgR\afuncArg\x12M\n" +
+	"\acontext\x18\x02 \x01(\x0e23.net.proto2.go.open2opaque.stats.Conversion.ContextR\acontext\"\xa1\x01\n" +
+	"\aContext\x12\x17\n" +
+	"\x13CONTEXT_UNSPECIFIED\x10\x00\x12\x11\n" +
+	"\rCALL_ARGUMENT\x10\x01\x12\x10\n" +
+	"\fRETURN_VALUE\x10\x02\x12\x0e\n" +
+	"\n" +
+	"ASSIGNMENT\x10\x03\x12\f\n" +
+	"\bEXPLICIT\x10\x04\x12\x1d\n" +
+	"\x19COMPOSITE_LITERAL_ELEMENT\x10\x05\x12\r\n" +
+	"\tCHAN_SEND\x10\x06\x12\f\n" +
+	"\bFUNC_RET\x10\a\"o\n" +
+	"\aFuncArg\x12#\n" +
+	"\rfunction_name\x18\x01 \x01(\tR\ffunctionName\x12!\n" +
+	"\fpackage_path\x18\x02 \x01(\tR\vpackagePath\x12\x1c\n" +
+	"\tsignature\x18\x03 \x01(\tR\tsignature\"Q\n" +
+	"\rTypeAssertion\x12@\n" +
+	"\bsrc_type\x18\x01 \x01(\v2%.net.proto2.go.open2opaque.stats.TypeR\asrcType\"R\n" +
+	"\x0eTypeDefinition\x12@\n" +
+	"\bnew_type\x18\x01 \x01(\v2%.net.proto2.go.open2opaque.stats.TypeR\anewType\",\n" +
+	"\tEmbedding\x12\x1f\n" +
+	"\vfield_index\x18\x01 \x01(\x03R\n" +
+	"fieldIndex\"\x1c\n" +
+	"\x06Source\x12\x12\n" +
+	"\x04file\x18\x01 \x01(\tR\x04file\"\xcd\x01\n" +
+	"\vShallowCopy\x12E\n" +
+	"\x04type\x18\x01 \x01(\x0e21.net.proto2.go.open2opaque.stats.ShallowCopy.TypeR\x04type\"w\n" +
+	"\x04Type\x12\x14\n" +
+	"\x10TYPE_UNSPECIFIED\x10\x00\x12\n" +
+	"\n" +
+	"\x06ASSIGN\x10\x01\x12\x11\n" +
+	"\rCALL_ARGUMENT\x10\x02\x12\f\n" +
+	"\bFUNC_RET\x10\x03\x12\x1d\n" +
+	"\x19COMPOSITE_LITERAL_ELEMENT\x10\x04\x12\r\n" +
+	"\tCHAN_SEND\x10\x05*W\n" +
+	"\fRewriteLevel\x12\x1d\n" +
+	"\x19REWRITE_LEVEL_UNSPECIFIED\x10\x00\x12\b\n" +
+	"\x04NONE\x10\x01\x12\t\n" +
+	"\x05GREEN\x10\x02\x12\n" +
+	"\n" +
+	"\x06YELLOW\x10\x03\x12\a\n" +
+	"\x03RED\x10\x04B\n" +
+	"\x92\x03\a\xd2>\x02\x10\x02\b\x02b\beditionsp\xe8\a"
 
 var file_stats_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
 var file_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
@@ -2758,7 +2641,7 @@
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_stats_proto_rawDesc,
+			RawDescriptor: unsafe.Slice(unsafe.StringData(file_stats_proto_rawDesc), len(file_stats_proto_rawDesc)),
 			NumEnums:      7,
 			NumMessages:   19,
 			NumExtensions: 0,
@@ -2770,7 +2653,6 @@
 		MessageInfos:      file_stats_proto_msgTypes,
 	}.Build()
 	File_stats_proto = out.File
-	file_stats_proto_rawDesc = nil
 	file_stats_proto_goTypes = nil
 	file_stats_proto_depIdxs = nil
 }
diff --git a/internal/fix/testdata/proto2test_go_proto/proto2test.pb.go b/internal/fix/testdata/proto2test_go_proto/proto2test.pb.go
index 499c465..2bba461 100644
--- a/internal/fix/testdata/proto2test_go_proto/proto2test.pb.go
+++ b/internal/fix/testdata/proto2test_go_proto/proto2test.pb.go
@@ -4,8 +4,8 @@
 
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.35.2-devel
-// 	protoc        v5.29.1
+// 	protoc-gen-go v1.36.8
+// 	protoc        v6.32.0
 // source: proto2test.proto
 
 package proto2test_go_proto
@@ -14,8 +14,10 @@
 	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	_ "google.golang.org/protobuf/types/gofeaturespb"
+	emptypb "google.golang.org/protobuf/types/known/emptypb"
 	reflect "reflect"
 	sync "sync"
+	unsafe "unsafe"
 )
 
 const (
@@ -178,6 +180,7 @@
 	//	*M2_MsgOneof
 	//	*M2_EnumOneof
 	//	*M2_BytesOneof
+	//	*M2_EmptyOneof
 	OneofField isM2_OneofField `protobuf_oneof:"oneof_field"`
 	// Types that are valid to be assigned to OneofField2:
 	//
@@ -371,6 +374,15 @@
 	return nil
 }
 
+func (x *M2) GetEmptyOneof() *emptypb.Empty {
+	if x != nil {
+		if x, ok := x.OneofField.(*M2_EmptyOneof); ok {
+			return x.EmptyOneof
+		}
+	}
+	return nil
+}
+
 func (x *M2) GetOneofField2() isM2_OneofField2 {
 	if x != nil {
 		return x.OneofField2
@@ -569,6 +581,14 @@
 	x.OneofField = &M2_BytesOneof{v}
 }
 
+func (x *M2) SetEmptyOneof(v *emptypb.Empty) {
+	if v == nil {
+		x.OneofField = nil
+		return
+	}
+	x.OneofField = &M2_EmptyOneof{v}
+}
+
 func (x *M2) SetStringOneof2(v string) {
 	x.OneofField2 = &M2_StringOneof2{v}
 }
@@ -740,6 +760,14 @@
 	return ok
 }
 
+func (x *M2) HasEmptyOneof() bool {
+	if x == nil {
+		return false
+	}
+	_, ok := x.OneofField.(*M2_EmptyOneof)
+	return ok
+}
+
 func (x *M2) HasOneofField2() bool {
 	if x == nil {
 		return false
@@ -900,6 +928,12 @@
 	}
 }
 
+func (x *M2) ClearEmptyOneof() {
+	if _, ok := x.OneofField.(*M2_EmptyOneof); ok {
+		x.OneofField = nil
+	}
+}
+
 func (x *M2) ClearOneofField2() {
 	x.OneofField2 = nil
 }
@@ -960,6 +994,7 @@
 const M2_MsgOneof_case case_M2_OneofField = 16
 const M2_EnumOneof_case case_M2_OneofField = 17
 const M2_BytesOneof_case case_M2_OneofField = 18
+const M2_EmptyOneof_case case_M2_OneofField = 99
 
 func (x *M2) WhichOneofField() case_M2_OneofField {
 	if x == nil {
@@ -976,6 +1011,8 @@
 		return M2_EnumOneof_case
 	case *M2_BytesOneof:
 		return M2_BytesOneof_case
+	case *M2_EmptyOneof:
+		return M2_EmptyOneof_case
 	default:
 		return M2_OneofField_not_set_case
 	}
@@ -1031,6 +1068,7 @@
 	MsgOneof    *M2
 	EnumOneof   *M2_Enum
 	BytesOneof  []byte
+	EmptyOneof  *emptypb.Empty
 	// -- end of OneofField
 	// Fields of oneof OneofField2:
 	StringOneof2 *string
@@ -1079,6 +1117,9 @@
 	if b.BytesOneof != nil {
 		x.OneofField = &M2_BytesOneof{b.BytesOneof}
 	}
+	if b.EmptyOneof != nil {
+		x.OneofField = &M2_EmptyOneof{b.EmptyOneof}
+	}
 	if b.StringOneof2 != nil {
 		x.OneofField2 = &M2_StringOneof2{*b.StringOneof2}
 	}
@@ -1146,6 +1187,10 @@
 	BytesOneof []byte `protobuf:"bytes,18,opt,name=bytes_oneof,json=bytesOneof,oneof"`
 }
 
+type M2_EmptyOneof struct {
+	EmptyOneof *emptypb.Empty `protobuf:"bytes,99,opt,name=empty_oneof,json=emptyOneof,oneof"`
+}
+
 func (*M2_StringOneof) isM2_OneofField() {}
 
 func (*M2_IntOneof) isM2_OneofField() {}
@@ -1156,6 +1201,8 @@
 
 func (*M2_BytesOneof) isM2_OneofField() {}
 
+func (*M2_EmptyOneof) isM2_OneofField() {}
+
 type isM2_OneofField2 interface {
 	isM2_OneofField2()
 }
@@ -3199,229 +3246,139 @@
 
 var File_proto2test_proto protoreflect.FileDescriptor
 
-var file_proto2test_proto_rawDesc = []byte{
-	0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x12, 0x22, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32,
-	0x6f, 0x2e, 0x74, 0x65, 0x73, 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, 0x27, 0x0a, 0x0e, 0x44, 0x6f, 0x4e,
-	0x6f, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x62,
-	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x01, 0x62, 0x3a, 0x07, 0x62, 0x05, 0xd2, 0x3e, 0x02,
-	0x10, 0x01, 0x22, 0xa0, 0x09, 0x0a, 0x02, 0x4d, 0x32, 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x08, 0x52, 0x01, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73,
-	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x10, 0x0a,
-	0x03, 0x66, 0x33, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x66, 0x33, 0x32, 0x12,
-	0x10, 0x0a, 0x03, 0x66, 0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x66, 0x36,
-	0x34, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
-	0x69, 0x33, 0x32, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
-	0x52, 0x03, 0x69, 0x36, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x69, 0x33, 0x32, 0x18, 0x07, 0x20,
-	0x01, 0x28, 0x0d, 0x52, 0x04, 0x75, 0x69, 0x33, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x69, 0x36,
-	0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x75, 0x69, 0x36, 0x34, 0x12, 0x0c, 0x0a,
-	0x01, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x73, 0x12, 0x34, 0x0a, 0x01, 0x6d,
-	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71,
-	0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x32, 0x52, 0x01,
-	0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x69,
-	0x73, 0x12, 0x36, 0x0a, 0x02, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e,
-	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70,
-	0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65,
-	0x73, 0x74, 0x2e, 0x4d, 0x32, 0x52, 0x02, 0x6d, 0x73, 0x12, 0x41, 0x0a, 0x03, 0x6d, 0x61, 0x70,
-	0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71,
-	0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x32, 0x2e, 0x4d,
-	0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, 0x39, 0x0a, 0x01,
-	0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61,
-	0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x32, 0x2e,
-	0x45, 0x6e, 0x75, 0x6d, 0x52, 0x01, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e,
-	0x67, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
-	0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x1d, 0x0a, 0x09,
-	0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x48,
-	0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x45, 0x0a, 0x09, 0x6d,
-	0x73, 0x67, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
-	0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f,
-	0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74,
-	0x65, 0x73, 0x74, 0x2e, 0x4d, 0x32, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x73, 0x67, 0x4f, 0x6e, 0x65,
-	0x6f, 0x66, 0x12, 0x4c, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
-	0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71,
-	0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x32, 0x2e, 0x45,
-	0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x4f, 0x6e, 0x65, 0x6f, 0x66,
-	0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18,
-	0x12, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x6e,
-	0x65, 0x6f, 0x66, 0x12, 0x25, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e,
-	0x65, 0x6f, 0x66, 0x32, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x73, 0x74,
-	0x72, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x12, 0x1f, 0x0a, 0x0a, 0x69, 0x6e,
-	0x74, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01,
-	0x52, 0x09, 0x69, 0x6e, 0x74, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x12, 0x47, 0x0a, 0x0a, 0x6d,
-	0x73, 0x67, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x26, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e,
-	0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e,
-	0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x32, 0x48, 0x01, 0x52, 0x09, 0x6d, 0x73, 0x67, 0x4f, 0x6e,
-	0x65, 0x6f, 0x66, 0x32, 0x12, 0x4e, 0x0a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x6e, 0x65,
-	0x6f, 0x66, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f,
-	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d,
-	0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x4f, 0x6e,
-	0x65, 0x6f, 0x66, 0x32, 0x12, 0x23, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x6e,
-	0x65, 0x6f, 0x66, 0x32, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x62, 0x79,
-	0x74, 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x69,
-	0x6c, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12,
-	0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
-	0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x4d, 0x65, 0x73,
-	0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x1a, 0x20,
-	0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74,
-	0x72, 0x69, 0x6e, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69,
-	0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
-	0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
-	0x6f, 0x72, 0x1a, 0x36, 0x0a, 0x08, 0x4d, 0x61, 0x70, 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, 0x08, 0x52,
-	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x11, 0x0a, 0x04, 0x45, 0x6e,
-	0x75, 0x6d, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x10, 0x00, 0x3a, 0x07, 0x62,
-	0x05, 0xd2, 0x3e, 0x02, 0x10, 0x02, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f,
-	0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66,
-	0x69, 0x65, 0x6c, 0x64, 0x32, 0x22, 0x85, 0x0a, 0x0a, 0x0b, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50,
-	0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
-	0x52, 0x01, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x33, 0x32,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x66, 0x33, 0x32, 0x12, 0x10, 0x0a, 0x03, 0x66,
-	0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x66, 0x36, 0x34, 0x12, 0x10, 0x0a,
-	0x03, 0x69, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x69, 0x33, 0x32, 0x12,
-	0x10, 0x0a, 0x03, 0x69, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x69, 0x36,
-	0x34, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x69, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
-	0x04, 0x75, 0x69, 0x33, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x69, 0x36, 0x34, 0x18, 0x08, 0x20,
-	0x01, 0x28, 0x04, 0x52, 0x04, 0x75, 0x69, 0x36, 0x34, 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18, 0x09,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x73, 0x12, 0x3d, 0x0a, 0x01, 0x6d, 0x18, 0x0a, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
-	0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f,
-	0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x52, 0x01, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x73, 0x18, 0x0b, 0x20, 0x03,
-	0x28, 0x05, 0x52, 0x02, 0x69, 0x73, 0x12, 0x3f, 0x0a, 0x02, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x03,
-	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
-	0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f,
-	0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x72, 0x6f,
-	0x74, 0x6f, 0x32, 0x52, 0x02, 0x6d, 0x73, 0x12, 0x4a, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x1d,
-	0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
-	0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50,
-	0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03,
-	0x6d, 0x61, 0x70, 0x12, 0x47, 0x0a, 0x01, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39,
-	0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f,
-	0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74,
-	0x65, 0x73, 0x74, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
-	0x4f, 0x74, 0x68, 0x65, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x01, 0x65, 0x12, 0x23, 0x0a, 0x0c,
-	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x0e, 0x20, 0x01,
-	0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x65, 0x6f,
-	0x66, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x0f,
-	0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x4f, 0x6e, 0x65, 0x6f, 0x66,
-	0x12, 0x4e, 0x0a, 0x09, 0x6d, 0x73, 0x67, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x10, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
-	0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
-	0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x72,
-	0x6f, 0x74, 0x6f, 0x32, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x73, 0x67, 0x4f, 0x6e, 0x65, 0x6f, 0x66,
-	0x12, 0x5a, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x11,
-	0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
-	0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50,
-	0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x48,
-	0x00, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x21, 0x0a, 0x0b,
-	0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28,
-	0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12,
-	0x25, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x32,
-	0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
-	0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x12, 0x1f, 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x6e,
-	0x65, 0x6f, 0x66, 0x32, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x09, 0x69, 0x6e,
-	0x74, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x12, 0x50, 0x0a, 0x0a, 0x6d, 0x73, 0x67, 0x5f, 0x6f,
-	0x6e, 0x65, 0x6f, 0x66, 0x32, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x65,
-	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
-	0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
-	0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x48, 0x01, 0x52, 0x09,
-	0x6d, 0x73, 0x67, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x12, 0x5c, 0x0a, 0x0b, 0x65, 0x6e, 0x75,
-	0x6d, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39,
-	0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f,
-	0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74,
-	0x65, 0x73, 0x74, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
-	0x4f, 0x74, 0x68, 0x65, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x0a, 0x65, 0x6e, 0x75,
-	0x6d, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x12, 0x23, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73,
-	0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52,
-	0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x32, 0x12, 0x14, 0x0a, 0x05,
-	0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x75, 0x69,
-	0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x73, 0x73,
-	0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74,
-	0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a,
-	0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73,
-	0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
-	0x74, 0x6f, 0x72, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72,
-	0x69, 0x70, 0x74, 0x6f, 0x72, 0x1a, 0x36, 0x0a, 0x08, 0x4d, 0x61, 0x70, 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, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x16, 0x0a,
-	0x09, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x5f,
-	0x56, 0x41, 0x4c, 0x10, 0x00, 0x3a, 0x07, 0x62, 0x05, 0xd2, 0x3e, 0x02, 0x10, 0x02, 0x42, 0x0d,
-	0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0e, 0x0a,
-	0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x22, 0xff, 0x01,
-	0x0a, 0x07, 0x4d, 0x32, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x09, 0x69, 0x6e, 0x6e,
-	0x65, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6e,
-	0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65,
-	0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73,
-	0x74, 0x2e, 0x4d, 0x32, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x4d, 0x49, 0x6e, 0x6e, 0x65, 0x72,
-	0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x23, 0x0a, 0x0c,
-	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x65, 0x6f,
-	0x66, 0x1a, 0x64, 0x0a, 0x06, 0x4d, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0c, 0x73,
-	0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28,
-	0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x6e, 0x65, 0x72,
-	0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x14, 0x20,
-	0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x3a,
-	0x07, 0x62, 0x05, 0xd2, 0x3e, 0x02, 0x10, 0x02, 0x42, 0x0d, 0x0a, 0x0b, 0x69, 0x6e, 0x6e, 0x65,
-	0x72, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x3a, 0x07, 0x62, 0x05, 0xd2, 0x3e, 0x02, 0x10, 0x02,
-	0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x22,
-	0xd3, 0x02, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x4f,
-	0x6e, 0x65, 0x6f, 0x66, 0x12, 0x4c, 0x0a, 0x03, 0x73, 0x75, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x38, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32,
-	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x69,
-	0x6e, 0x67, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x2e, 0x53, 0x75, 0x62, 0x48, 0x00, 0x52, 0x03, 0x73,
-	0x75, 0x62, 0x12, 0x1e, 0x0a, 0x09, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69,
-	0x73, 0x65, 0x1a, 0x0e, 0x0a, 0x03, 0x53, 0x75, 0x62, 0x3a, 0x07, 0x62, 0x05, 0xd2, 0x3e, 0x02,
-	0x10, 0x02, 0x1a, 0xab, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x65, 0x70, 0x53, 0x75, 0x62, 0x12, 0x54,
-	0x0a, 0x03, 0x73, 0x75, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6e, 0x65,
-	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
-	0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
-	0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x65, 0x6f,
-	0x66, 0x2e, 0x44, 0x65, 0x65, 0x70, 0x53, 0x75, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x48, 0x00, 0x52,
-	0x03, 0x73, 0x75, 0x62, 0x12, 0x1e, 0x0a, 0x09, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73,
-	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x74, 0x68, 0x65, 0x72,
-	0x77, 0x69, 0x73, 0x65, 0x1a, 0x0e, 0x0a, 0x03, 0x53, 0x75, 0x62, 0x3a, 0x07, 0x62, 0x05, 0xd2,
-	0x3e, 0x02, 0x10, 0x02, 0x3a, 0x07, 0x62, 0x05, 0xd2, 0x3e, 0x02, 0x10, 0x02, 0x42, 0x11, 0x0a,
-	0x0f, 0x64, 0x65, 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64,
-	0x3a, 0x07, 0x62, 0x05, 0xd2, 0x3e, 0x02, 0x10, 0x02, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6e, 0x63,
-	0x6c, 0x75, 0x64, 0x65, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x74, 0x65, 0x72,
-	0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04,
-	0x73, 0x74, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x74,
-	0x12, 0x19, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x05, 0x52, 0x07, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67,
-	0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x67,
-	0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x74,
-	0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x68, 0x61, 0x73, 0x53, 0x74, 0x61,
-	0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x18,
-	0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74,
-	0x3a, 0x07, 0x62, 0x05, 0xd2, 0x3e, 0x02, 0x10, 0x02, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69,
-	0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
-}
+const file_proto2test_proto_rawDesc = "" +
+	"\n" +
+	"\x10proto2test.proto\x12\"net.proto2.go.open2opaque.o2o.test\x1a!google/protobuf/go_features.proto\x1a\x1bgoogle/protobuf/empty.proto\"'\n" +
+	"\x0eDoNotMigrateMe\x12\f\n" +
+	"\x01b\x18\x01 \x01(\bR\x01b:\ab\x05\xd2>\x02\x10\x01\"\xdb\t\n" +
+	"\x02M2\x12\f\n" +
+	"\x01b\x18\x01 \x01(\bR\x01b\x12\x14\n" +
+	"\x05bytes\x18\x02 \x01(\fR\x05bytes\x12\x10\n" +
+	"\x03f32\x18\x03 \x01(\x02R\x03f32\x12\x10\n" +
+	"\x03f64\x18\x04 \x01(\x01R\x03f64\x12\x10\n" +
+	"\x03i32\x18\x05 \x01(\x05R\x03i32\x12\x10\n" +
+	"\x03i64\x18\x06 \x01(\x03R\x03i64\x12\x12\n" +
+	"\x04ui32\x18\a \x01(\rR\x04ui32\x12\x12\n" +
+	"\x04ui64\x18\b \x01(\x04R\x04ui64\x12\f\n" +
+	"\x01s\x18\t \x01(\tR\x01s\x124\n" +
+	"\x01m\x18\n" +
+	" \x01(\v2&.net.proto2.go.open2opaque.o2o.test.M2R\x01m\x12\x0e\n" +
+	"\x02is\x18\v \x03(\x05R\x02is\x126\n" +
+	"\x02ms\x18\f \x03(\v2&.net.proto2.go.open2opaque.o2o.test.M2R\x02ms\x12A\n" +
+	"\x03map\x18\x1d \x03(\v2/.net.proto2.go.open2opaque.o2o.test.M2.MapEntryR\x03map\x129\n" +
+	"\x01e\x18\r \x01(\x0e2+.net.proto2.go.open2opaque.o2o.test.M2.EnumR\x01e\x12#\n" +
+	"\fstring_oneof\x18\x0e \x01(\tH\x00R\vstringOneof\x12\x1d\n" +
+	"\tint_oneof\x18\x0f \x01(\x03H\x00R\bintOneof\x12E\n" +
+	"\tmsg_oneof\x18\x10 \x01(\v2&.net.proto2.go.open2opaque.o2o.test.M2H\x00R\bmsgOneof\x12L\n" +
+	"\n" +
+	"enum_oneof\x18\x11 \x01(\x0e2+.net.proto2.go.open2opaque.o2o.test.M2.EnumH\x00R\tenumOneof\x12!\n" +
+	"\vbytes_oneof\x18\x12 \x01(\fH\x00R\n" +
+	"bytesOneof\x129\n" +
+	"\vempty_oneof\x18c \x01(\v2\x16.google.protobuf.EmptyH\x00R\n" +
+	"emptyOneof\x12%\n" +
+	"\rstring_oneof2\x18\x13 \x01(\tH\x01R\fstringOneof2\x12\x1f\n" +
+	"\n" +
+	"int_oneof2\x18\x14 \x01(\x03H\x01R\tintOneof2\x12G\n" +
+	"\n" +
+	"msg_oneof2\x18\x15 \x01(\v2&.net.proto2.go.open2opaque.o2o.test.M2H\x01R\tmsgOneof2\x12N\n" +
+	"\venum_oneof2\x18\x16 \x01(\x0e2+.net.proto2.go.open2opaque.o2o.test.M2.EnumH\x01R\n" +
+	"enumOneof2\x12#\n" +
+	"\fbytes_oneof2\x18\x17 \x01(\fH\x01R\vbytesOneof2\x12\x14\n" +
+	"\x05build\x18\x18 \x01(\x05R\x05build\x12#\n" +
+	"\rproto_message\x18\x19 \x01(\x05R\fprotoMessage\x12\x14\n" +
+	"\x05reset\x18\x1a \x01(\x05R\x05reset\x12\x16\n" +
+	"\x06string\x18\x1b \x01(\x05R\x06string\x12\x1e\n" +
+	"\n" +
+	"descriptor\x18\x1c \x01(\x05R\n" +
+	"descriptor\x1a6\n" +
+	"\bMapEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"\x11\n" +
+	"\x04Enum\x12\t\n" +
+	"\x05E_VAL\x10\x00:\ab\x05\xd2>\x02\x10\x02B\r\n" +
+	"\voneof_fieldB\x0e\n" +
+	"\foneof_field2\"\x85\n" +
+	"\n" +
+	"\vOtherProto2\x12\f\n" +
+	"\x01b\x18\x01 \x01(\bR\x01b\x12\x14\n" +
+	"\x05bytes\x18\x02 \x01(\fR\x05bytes\x12\x10\n" +
+	"\x03f32\x18\x03 \x01(\x02R\x03f32\x12\x10\n" +
+	"\x03f64\x18\x04 \x01(\x01R\x03f64\x12\x10\n" +
+	"\x03i32\x18\x05 \x01(\x05R\x03i32\x12\x10\n" +
+	"\x03i64\x18\x06 \x01(\x03R\x03i64\x12\x12\n" +
+	"\x04ui32\x18\a \x01(\rR\x04ui32\x12\x12\n" +
+	"\x04ui64\x18\b \x01(\x04R\x04ui64\x12\f\n" +
+	"\x01s\x18\t \x01(\tR\x01s\x12=\n" +
+	"\x01m\x18\n" +
+	" \x01(\v2/.net.proto2.go.open2opaque.o2o.test.OtherProto2R\x01m\x12\x0e\n" +
+	"\x02is\x18\v \x03(\x05R\x02is\x12?\n" +
+	"\x02ms\x18\f \x03(\v2/.net.proto2.go.open2opaque.o2o.test.OtherProto2R\x02ms\x12J\n" +
+	"\x03map\x18\x1d \x03(\v28.net.proto2.go.open2opaque.o2o.test.OtherProto2.MapEntryR\x03map\x12G\n" +
+	"\x01e\x18\r \x01(\x0e29.net.proto2.go.open2opaque.o2o.test.OtherProto2.OtherEnumR\x01e\x12#\n" +
+	"\fstring_oneof\x18\x0e \x01(\tH\x00R\vstringOneof\x12\x1d\n" +
+	"\tint_oneof\x18\x0f \x01(\x03H\x00R\bintOneof\x12N\n" +
+	"\tmsg_oneof\x18\x10 \x01(\v2/.net.proto2.go.open2opaque.o2o.test.OtherProto2H\x00R\bmsgOneof\x12Z\n" +
+	"\n" +
+	"enum_oneof\x18\x11 \x01(\x0e29.net.proto2.go.open2opaque.o2o.test.OtherProto2.OtherEnumH\x00R\tenumOneof\x12!\n" +
+	"\vbytes_oneof\x18\x12 \x01(\fH\x00R\n" +
+	"bytesOneof\x12%\n" +
+	"\rstring_oneof2\x18\x13 \x01(\tH\x01R\fstringOneof2\x12\x1f\n" +
+	"\n" +
+	"int_oneof2\x18\x14 \x01(\x03H\x01R\tintOneof2\x12P\n" +
+	"\n" +
+	"msg_oneof2\x18\x15 \x01(\v2/.net.proto2.go.open2opaque.o2o.test.OtherProto2H\x01R\tmsgOneof2\x12\\\n" +
+	"\venum_oneof2\x18\x16 \x01(\x0e29.net.proto2.go.open2opaque.o2o.test.OtherProto2.OtherEnumH\x01R\n" +
+	"enumOneof2\x12#\n" +
+	"\fbytes_oneof2\x18\x17 \x01(\fH\x01R\vbytesOneof2\x12\x14\n" +
+	"\x05build\x18\x18 \x01(\x05R\x05build\x12#\n" +
+	"\rproto_message\x18\x19 \x01(\x05R\fprotoMessage\x12\x14\n" +
+	"\x05reset\x18\x1a \x01(\x05R\x05reset\x12\x16\n" +
+	"\x06string\x18\x1b \x01(\x05R\x06string\x12\x1e\n" +
+	"\n" +
+	"descriptor\x18\x1c \x01(\x05R\n" +
+	"descriptor\x1a6\n" +
+	"\bMapEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"\x16\n" +
+	"\tOtherEnum\x12\t\n" +
+	"\x05E_VAL\x10\x00:\ab\x05\xd2>\x02\x10\x02B\r\n" +
+	"\voneof_fieldB\x0e\n" +
+	"\foneof_field2\"\xff\x01\n" +
+	"\aM2Outer\x12Q\n" +
+	"\tinner_msg\x18\x01 \x01(\v22.net.proto2.go.open2opaque.o2o.test.M2Outer.MInnerH\x00R\binnerMsg\x12#\n" +
+	"\fstring_oneof\x18\x02 \x01(\tH\x00R\vstringOneof\x1ad\n" +
+	"\x06MInner\x12#\n" +
+	"\fstring_inner\x18\x13 \x01(\tH\x00R\vstringInner\x12\x1d\n" +
+	"\tint_inner\x18\x14 \x01(\x03H\x00R\bintInner:\ab\x05\xd2>\x02\x10\x02B\r\n" +
+	"\vinner_oneof:\ab\x05\xd2>\x02\x10\x02B\r\n" +
+	"\vouter_oneof\"\xd3\x02\n" +
+	"\x10ConflictingOneof\x12L\n" +
+	"\x03sub\x18\x01 \x01(\v28.net.proto2.go.open2opaque.o2o.test.ConflictingOneof.SubH\x00R\x03sub\x12\x1e\n" +
+	"\totherwise\x18\x02 \x01(\tH\x00R\totherwise\x1a\x0e\n" +
+	"\x03Sub:\ab\x05\xd2>\x02\x10\x02\x1a\xab\x01\n" +
+	"\aDeepSub\x12T\n" +
+	"\x03sub\x18\x01 \x01(\v2@.net.proto2.go.open2opaque.o2o.test.ConflictingOneof.DeepSub.SubH\x00R\x03sub\x12\x1e\n" +
+	"\totherwise\x18\x03 \x01(\tH\x00R\totherwise\x1a\x0e\n" +
+	"\x03Sub:\ab\x05\xd2>\x02\x10\x02:\ab\x05\xd2>\x02\x10\x02B\x11\n" +
+	"\x0fdeeply_included:\ab\x05\xd2>\x02\x10\x02B\n" +
+	"\n" +
+	"\bincluded\"\xa1\x01\n" +
+	"\x12SetterNameConflict\x12\x12\n" +
+	"\x04stat\x18\x01 \x01(\x05R\x04stat\x12\x19\n" +
+	"\bset_stat\x18\x02 \x01(\x05R\asetStat\x12\x19\n" +
+	"\bget_stat\x18\x03 \x01(\x05R\agetStat\x12\x19\n" +
+	"\bhas_stat\x18\x04 \x01(\x05R\ahasStat\x12\x1d\n" +
+	"\n" +
+	"clear_stat\x18\x05 \x01(\x05R\tclearStat:\ab\x05\xd2>\x02\x10\x02b\beditionsp\xe8\a"
 
 var (
 	file_proto2test_proto_rawDescOnce sync.Once
-	file_proto2test_proto_rawDescData = file_proto2test_proto_rawDesc
+	file_proto2test_proto_rawDescData []byte
 )
 
 func file_proto2test_proto_rawDescGZIP() []byte {
 	file_proto2test_proto_rawDescOnce.Do(func() {
-		file_proto2test_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto2test_proto_rawDescData)
+		file_proto2test_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto2test_proto_rawDesc), len(file_proto2test_proto_rawDesc)))
 	})
 	return file_proto2test_proto_rawDescData
 }
@@ -3443,6 +3400,7 @@
 	(*ConflictingOneof_Sub)(nil),         // 11: net.proto2.go.open2opaque.o2o.test.ConflictingOneof.Sub
 	(*ConflictingOneof_DeepSub)(nil),     // 12: net.proto2.go.open2opaque.o2o.test.ConflictingOneof.DeepSub
 	(*ConflictingOneof_DeepSub_Sub)(nil), // 13: net.proto2.go.open2opaque.o2o.test.ConflictingOneof.DeepSub.Sub
+	(*emptypb.Empty)(nil),                // 14: google.protobuf.Empty
 }
 var file_proto2test_proto_depIdxs = []int32{
 	3,  // 0: net.proto2.go.open2opaque.o2o.test.M2.m:type_name -> net.proto2.go.open2opaque.o2o.test.M2
@@ -3451,24 +3409,25 @@
 	0,  // 3: net.proto2.go.open2opaque.o2o.test.M2.e:type_name -> net.proto2.go.open2opaque.o2o.test.M2.Enum
 	3,  // 4: net.proto2.go.open2opaque.o2o.test.M2.msg_oneof:type_name -> net.proto2.go.open2opaque.o2o.test.M2
 	0,  // 5: net.proto2.go.open2opaque.o2o.test.M2.enum_oneof:type_name -> net.proto2.go.open2opaque.o2o.test.M2.Enum
-	3,  // 6: net.proto2.go.open2opaque.o2o.test.M2.msg_oneof2:type_name -> net.proto2.go.open2opaque.o2o.test.M2
-	0,  // 7: net.proto2.go.open2opaque.o2o.test.M2.enum_oneof2:type_name -> net.proto2.go.open2opaque.o2o.test.M2.Enum
-	4,  // 8: net.proto2.go.open2opaque.o2o.test.OtherProto2.m:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2
-	4,  // 9: net.proto2.go.open2opaque.o2o.test.OtherProto2.ms:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2
-	9,  // 10: net.proto2.go.open2opaque.o2o.test.OtherProto2.map:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2.MapEntry
-	1,  // 11: net.proto2.go.open2opaque.o2o.test.OtherProto2.e:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2.OtherEnum
-	4,  // 12: net.proto2.go.open2opaque.o2o.test.OtherProto2.msg_oneof:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2
-	1,  // 13: net.proto2.go.open2opaque.o2o.test.OtherProto2.enum_oneof:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2.OtherEnum
-	4,  // 14: net.proto2.go.open2opaque.o2o.test.OtherProto2.msg_oneof2:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2
-	1,  // 15: net.proto2.go.open2opaque.o2o.test.OtherProto2.enum_oneof2:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2.OtherEnum
-	10, // 16: net.proto2.go.open2opaque.o2o.test.M2Outer.inner_msg:type_name -> net.proto2.go.open2opaque.o2o.test.M2Outer.MInner
-	11, // 17: net.proto2.go.open2opaque.o2o.test.ConflictingOneof.sub:type_name -> net.proto2.go.open2opaque.o2o.test.ConflictingOneof.Sub
-	13, // 18: net.proto2.go.open2opaque.o2o.test.ConflictingOneof.DeepSub.sub:type_name -> net.proto2.go.open2opaque.o2o.test.ConflictingOneof.DeepSub.Sub
-	19, // [19:19] is the sub-list for method output_type
-	19, // [19:19] is the sub-list for method input_type
-	19, // [19:19] is the sub-list for extension type_name
-	19, // [19:19] is the sub-list for extension extendee
-	0,  // [0:19] is the sub-list for field type_name
+	14, // 6: net.proto2.go.open2opaque.o2o.test.M2.empty_oneof:type_name -> google.protobuf.Empty
+	3,  // 7: net.proto2.go.open2opaque.o2o.test.M2.msg_oneof2:type_name -> net.proto2.go.open2opaque.o2o.test.M2
+	0,  // 8: net.proto2.go.open2opaque.o2o.test.M2.enum_oneof2:type_name -> net.proto2.go.open2opaque.o2o.test.M2.Enum
+	4,  // 9: net.proto2.go.open2opaque.o2o.test.OtherProto2.m:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2
+	4,  // 10: net.proto2.go.open2opaque.o2o.test.OtherProto2.ms:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2
+	9,  // 11: net.proto2.go.open2opaque.o2o.test.OtherProto2.map:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2.MapEntry
+	1,  // 12: net.proto2.go.open2opaque.o2o.test.OtherProto2.e:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2.OtherEnum
+	4,  // 13: net.proto2.go.open2opaque.o2o.test.OtherProto2.msg_oneof:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2
+	1,  // 14: net.proto2.go.open2opaque.o2o.test.OtherProto2.enum_oneof:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2.OtherEnum
+	4,  // 15: net.proto2.go.open2opaque.o2o.test.OtherProto2.msg_oneof2:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2
+	1,  // 16: net.proto2.go.open2opaque.o2o.test.OtherProto2.enum_oneof2:type_name -> net.proto2.go.open2opaque.o2o.test.OtherProto2.OtherEnum
+	10, // 17: net.proto2.go.open2opaque.o2o.test.M2Outer.inner_msg:type_name -> net.proto2.go.open2opaque.o2o.test.M2Outer.MInner
+	11, // 18: net.proto2.go.open2opaque.o2o.test.ConflictingOneof.sub:type_name -> net.proto2.go.open2opaque.o2o.test.ConflictingOneof.Sub
+	13, // 19: net.proto2.go.open2opaque.o2o.test.ConflictingOneof.DeepSub.sub:type_name -> net.proto2.go.open2opaque.o2o.test.ConflictingOneof.DeepSub.Sub
+	20, // [20:20] is the sub-list for method output_type
+	20, // [20:20] is the sub-list for method input_type
+	20, // [20:20] is the sub-list for extension type_name
+	20, // [20:20] is the sub-list for extension extendee
+	0,  // [0:20] is the sub-list for field type_name
 }
 
 func init() { file_proto2test_proto_init() }
@@ -3482,6 +3441,7 @@
 		(*M2_MsgOneof)(nil),
 		(*M2_EnumOneof)(nil),
 		(*M2_BytesOneof)(nil),
+		(*M2_EmptyOneof)(nil),
 		(*M2_StringOneof2)(nil),
 		(*M2_IntOneof2)(nil),
 		(*M2_MsgOneof2)(nil),
@@ -3520,7 +3480,7 @@
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_proto2test_proto_rawDesc,
+			RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto2test_proto_rawDesc), len(file_proto2test_proto_rawDesc)),
 			NumEnums:      2,
 			NumMessages:   12,
 			NumExtensions: 0,
@@ -3532,7 +3492,6 @@
 		MessageInfos:      file_proto2test_proto_msgTypes,
 	}.Build()
 	File_proto2test_proto = out.File
-	file_proto2test_proto_rawDesc = nil
 	file_proto2test_proto_goTypes = nil
 	file_proto2test_proto_depIdxs = nil
 }
diff --git a/internal/fix/testdata/proto3test_go_proto/proto3test.pb.go b/internal/fix/testdata/proto3test_go_proto/proto3test.pb.go
index 670e281..4705a87 100644
--- a/internal/fix/testdata/proto3test_go_proto/proto3test.pb.go
+++ b/internal/fix/testdata/proto3test_go_proto/proto3test.pb.go
@@ -4,8 +4,8 @@
 
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.35.2-devel
-// 	protoc        v5.29.1
+// 	protoc-gen-go v1.36.8
+// 	protoc        v6.32.0
 // source: proto3test.proto
 
 //go:build !protoopaque
@@ -16,6 +16,7 @@
 	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
+	unsafe "unsafe"
 )
 
 const (
@@ -1103,105 +1104,75 @@
 
 var File_proto3test_proto protoreflect.FileDescriptor
 
-var file_proto3test_proto_rawDesc = []byte{
-	0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x12, 0x23, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32,
-	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x22, 0xc9, 0x0b, 0x0a, 0x02, 0x4d, 0x33, 0x12, 0x0c,
-	0x0a, 0x01, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x01, 0x62, 0x12, 0x14, 0x0a, 0x05,
-	0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74,
-	0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x33, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52,
-	0x03, 0x66, 0x33, 0x32, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28,
-	0x01, 0x52, 0x03, 0x66, 0x36, 0x34, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x33, 0x32, 0x18, 0x05, 0x20,
-	0x01, 0x28, 0x05, 0x52, 0x03, 0x69, 0x33, 0x32, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x36, 0x34, 0x18,
-	0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x69, 0x36, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x69,
-	0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x75, 0x69, 0x33, 0x32, 0x12, 0x12,
-	0x0a, 0x04, 0x75, 0x69, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x75, 0x69,
-	0x36, 0x34, 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x73,
-	0x12, 0x35, 0x0a, 0x01, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65,
-	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
-	0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
-	0x33, 0x2e, 0x4d, 0x33, 0x52, 0x01, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x73, 0x18, 0x0b, 0x20,
-	0x03, 0x28, 0x05, 0x52, 0x02, 0x69, 0x73, 0x12, 0x37, 0x0a, 0x02, 0x6d, 0x73, 0x18, 0x0c, 0x20,
-	0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
-	0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
-	0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x52, 0x02, 0x6d, 0x73,
-	0x12, 0x42, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e,
-	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70,
-	0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65,
-	0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
-	0x03, 0x6d, 0x61, 0x70, 0x12, 0x3a, 0x0a, 0x01, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32,
-	0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e,
-	0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e,
-	0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x01, 0x65,
-	0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
-	0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
-	0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x65,
-	0x6f, 0x66, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x4f,
-	0x6e, 0x65, 0x6f, 0x66, 0x12, 0x46, 0x0a, 0x09, 0x6d, 0x73, 0x67, 0x5f, 0x6f, 0x6e, 0x65, 0x6f,
-	0x66, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61,
-	0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33,
-	0x48, 0x00, 0x52, 0x08, 0x6d, 0x73, 0x67, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x4d, 0x0a, 0x0a,
-	0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e,
-	0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f,
-	0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f,
-	0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00,
-	0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x21, 0x0a, 0x0b, 0x62,
-	0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c,
-	0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x16,
-	0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52,
-	0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f,
-	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
-	0x0c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a,
-	0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05,
-	0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18,
-	0x1b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12,
-	0x20, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x1c, 0x20,
-	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
-	0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x69, 0x33, 0x32, 0x18,
-	0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x49, 0x33, 0x32,
-	0x12, 0x18, 0x0a, 0x05, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x48,
-	0x01, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x42, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6f, 0x70,
-	0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x02, 0x52,
-	0x08, 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07,
-	0x6f, 0x70, 0x74, 0x5f, 0x66, 0x33, 0x32, 0x18, 0x21, 0x20, 0x01, 0x28, 0x02, 0x48, 0x03, 0x52,
-	0x06, 0x6f, 0x70, 0x74, 0x46, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x70,
-	0x74, 0x5f, 0x66, 0x36, 0x34, 0x18, 0x22, 0x20, 0x01, 0x28, 0x01, 0x48, 0x04, 0x52, 0x06, 0x6f,
-	0x70, 0x74, 0x46, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f,
-	0x69, 0x33, 0x32, 0x18, 0x23, 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, 0x06, 0x6f, 0x70, 0x74,
-	0x49, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x36,
-	0x34, 0x18, 0x24, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x49, 0x36,
-	0x34, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x33, 0x32,
-	0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x33,
-	0x32, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x36, 0x34,
-	0x18, 0x26, 0x20, 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x36,
-	0x34, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x05, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x18, 0x27, 0x20,
-	0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x53, 0x88, 0x01, 0x01, 0x12, 0x41,
-	0x0a, 0x05, 0x6f, 0x70, 0x74, 0x5f, 0x6d, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
-	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70,
-	0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65,
-	0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x48, 0x0a, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x4d, 0x88, 0x01,
-	0x01, 0x12, 0x46, 0x0a, 0x05, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0e,
-	0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f,
-	0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f,
-	0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x0b,
-	0x52, 0x04, 0x6f, 0x70, 0x74, 0x45, 0x88, 0x01, 0x01, 0x1a, 0x36, 0x0a, 0x08, 0x4d, 0x61, 0x70,
-	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, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
-	0x01, 0x22, 0x11, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x5f, 0x56,
-	0x41, 0x4c, 0x10, 0x00, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69,
-	0x65, 0x6c, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x42, 0x0c, 0x0a,
-	0x0a, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f,
-	0x6f, 0x70, 0x74, 0x5f, 0x66, 0x33, 0x32, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x74, 0x5f,
-	0x66, 0x36, 0x34, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x33, 0x32, 0x42,
-	0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x36, 0x34, 0x42, 0x0b, 0x0a, 0x09, 0x5f,
-	0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x33, 0x32, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x70, 0x74,
-	0x5f, 0x75, 0x69, 0x36, 0x34, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x42,
-	0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x6d, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x70,
-	0x74, 0x5f, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
+const file_proto3test_proto_rawDesc = "" +
+	"\n" +
+	"\x10proto3test.proto\x12#net.proto2.go.open2opaque.o2o.test3\"\xc9\v\n" +
+	"\x02M3\x12\f\n" +
+	"\x01b\x18\x01 \x01(\bR\x01b\x12\x14\n" +
+	"\x05bytes\x18\x02 \x01(\fR\x05bytes\x12\x10\n" +
+	"\x03f32\x18\x03 \x01(\x02R\x03f32\x12\x10\n" +
+	"\x03f64\x18\x04 \x01(\x01R\x03f64\x12\x10\n" +
+	"\x03i32\x18\x05 \x01(\x05R\x03i32\x12\x10\n" +
+	"\x03i64\x18\x06 \x01(\x03R\x03i64\x12\x12\n" +
+	"\x04ui32\x18\a \x01(\rR\x04ui32\x12\x12\n" +
+	"\x04ui64\x18\b \x01(\x04R\x04ui64\x12\f\n" +
+	"\x01s\x18\t \x01(\tR\x01s\x125\n" +
+	"\x01m\x18\n" +
+	" \x01(\v2'.net.proto2.go.open2opaque.o2o.test3.M3R\x01m\x12\x0e\n" +
+	"\x02is\x18\v \x03(\x05R\x02is\x127\n" +
+	"\x02ms\x18\f \x03(\v2'.net.proto2.go.open2opaque.o2o.test3.M3R\x02ms\x12B\n" +
+	"\x03map\x18\x1d \x03(\v20.net.proto2.go.open2opaque.o2o.test3.M3.MapEntryR\x03map\x12:\n" +
+	"\x01e\x18\r \x01(\x0e2,.net.proto2.go.open2opaque.o2o.test3.M3.EnumR\x01e\x12#\n" +
+	"\fstring_oneof\x18\x0e \x01(\tH\x00R\vstringOneof\x12\x1d\n" +
+	"\tint_oneof\x18\x0f \x01(\x03H\x00R\bintOneof\x12F\n" +
+	"\tmsg_oneof\x18\x10 \x01(\v2'.net.proto2.go.open2opaque.o2o.test3.M3H\x00R\bmsgOneof\x12M\n" +
+	"\n" +
+	"enum_oneof\x18\x11 \x01(\x0e2,.net.proto2.go.open2opaque.o2o.test3.M3.EnumH\x00R\tenumOneof\x12!\n" +
+	"\vbytes_oneof\x18\x12 \x01(\fH\x00R\n" +
+	"bytesOneof\x12\x16\n" +
+	"\x05build\x18\x18 \x01(\x05H\x00R\x05build\x12%\n" +
+	"\rproto_message\x18\x19 \x01(\tH\x00R\fprotoMessage\x12\x16\n" +
+	"\x05reset\x18\x1a \x01(\tH\x00R\x05reset\x12\x18\n" +
+	"\x06string\x18\x1b \x01(\tH\x00R\x06string\x12 \n" +
+	"\n" +
+	"descriptor\x18\x1c \x01(\tH\x00R\n" +
+	"descriptor\x12\x1d\n" +
+	"\n" +
+	"second_i32\x18\x1e \x01(\x05R\tsecondI32\x12\x18\n" +
+	"\x05opt_b\x18\x1f \x01(\bH\x01R\x04optB\x88\x01\x01\x12 \n" +
+	"\topt_bytes\x18  \x01(\fH\x02R\boptBytes\x88\x01\x01\x12\x1c\n" +
+	"\aopt_f32\x18! \x01(\x02H\x03R\x06optF32\x88\x01\x01\x12\x1c\n" +
+	"\aopt_f64\x18\" \x01(\x01H\x04R\x06optF64\x88\x01\x01\x12\x1c\n" +
+	"\aopt_i32\x18# \x01(\x05H\x05R\x06optI32\x88\x01\x01\x12\x1c\n" +
+	"\aopt_i64\x18$ \x01(\x03H\x06R\x06optI64\x88\x01\x01\x12\x1e\n" +
+	"\bopt_ui32\x18% \x01(\rH\aR\aoptUi32\x88\x01\x01\x12\x1e\n" +
+	"\bopt_ui64\x18& \x01(\x04H\bR\aoptUi64\x88\x01\x01\x12\x18\n" +
+	"\x05opt_s\x18' \x01(\tH\tR\x04optS\x88\x01\x01\x12A\n" +
+	"\x05opt_m\x18( \x01(\v2'.net.proto2.go.open2opaque.o2o.test3.M3H\n" +
+	"R\x04optM\x88\x01\x01\x12F\n" +
+	"\x05opt_e\x18) \x01(\x0e2,.net.proto2.go.open2opaque.o2o.test3.M3.EnumH\vR\x04optE\x88\x01\x01\x1a6\n" +
+	"\bMapEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"\x11\n" +
+	"\x04Enum\x12\t\n" +
+	"\x05E_VAL\x10\x00B\r\n" +
+	"\voneof_fieldB\b\n" +
+	"\x06_opt_bB\f\n" +
+	"\n" +
+	"_opt_bytesB\n" +
+	"\n" +
+	"\b_opt_f32B\n" +
+	"\n" +
+	"\b_opt_f64B\n" +
+	"\n" +
+	"\b_opt_i32B\n" +
+	"\n" +
+	"\b_opt_i64B\v\n" +
+	"\t_opt_ui32B\v\n" +
+	"\t_opt_ui64B\b\n" +
+	"\x06_opt_sB\b\n" +
+	"\x06_opt_mB\b\n" +
+	"\x06_opt_eb\x06proto3"
 
 var file_proto3test_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
 var file_proto3test_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
@@ -1247,7 +1218,7 @@
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_proto3test_proto_rawDesc,
+			RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto3test_proto_rawDesc), len(file_proto3test_proto_rawDesc)),
 			NumEnums:      1,
 			NumMessages:   2,
 			NumExtensions: 0,
@@ -1259,7 +1230,6 @@
 		MessageInfos:      file_proto3test_proto_msgTypes,
 	}.Build()
 	File_proto3test_proto = out.File
-	file_proto3test_proto_rawDesc = nil
 	file_proto3test_proto_goTypes = nil
 	file_proto3test_proto_depIdxs = nil
 }
diff --git a/internal/fix/testdata/proto3test_go_proto/proto3test_protoopaque.pb.go b/internal/fix/testdata/proto3test_go_proto/proto3test_protoopaque.pb.go
index b4239a3..d1924a3 100644
--- a/internal/fix/testdata/proto3test_go_proto/proto3test_protoopaque.pb.go
+++ b/internal/fix/testdata/proto3test_go_proto/proto3test_protoopaque.pb.go
@@ -4,8 +4,8 @@
 
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.35.2-devel
-// 	protoc        v5.29.1
+// 	protoc-gen-go v1.36.8
+// 	protoc        v6.32.0
 // source: proto3test.proto
 
 //go:build protoopaque
@@ -16,6 +16,7 @@
 	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
+	unsafe "unsafe"
 )
 
 const (
@@ -65,33 +66,33 @@
 
 type M3 struct {
 	state                  protoimpl.MessageState `protogen:"opaque.v1"`
-	xxx_hidden_B           bool                   `protobuf:"varint,1,opt,name=b,proto3" json:"b,omitempty"`
-	xxx_hidden_Bytes       []byte                 `protobuf:"bytes,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
-	xxx_hidden_F32         float32                `protobuf:"fixed32,3,opt,name=f32,proto3" json:"f32,omitempty"`
-	xxx_hidden_F64         float64                `protobuf:"fixed64,4,opt,name=f64,proto3" json:"f64,omitempty"`
-	xxx_hidden_I32         int32                  `protobuf:"varint,5,opt,name=i32,proto3" json:"i32,omitempty"`
-	xxx_hidden_I64         int64                  `protobuf:"varint,6,opt,name=i64,proto3" json:"i64,omitempty"`
-	xxx_hidden_Ui32        uint32                 `protobuf:"varint,7,opt,name=ui32,proto3" json:"ui32,omitempty"`
-	xxx_hidden_Ui64        uint64                 `protobuf:"varint,8,opt,name=ui64,proto3" json:"ui64,omitempty"`
-	xxx_hidden_S           string                 `protobuf:"bytes,9,opt,name=s,proto3" json:"s,omitempty"`
-	xxx_hidden_M           *M3                    `protobuf:"bytes,10,opt,name=m,proto3" json:"m,omitempty"`
-	xxx_hidden_Is          []int32                `protobuf:"varint,11,rep,packed,name=is,proto3" json:"is,omitempty"`
-	xxx_hidden_Ms          *[]*M3                 `protobuf:"bytes,12,rep,name=ms,proto3" json:"ms,omitempty"`
-	xxx_hidden_Map         map[string]bool        `protobuf:"bytes,29,rep,name=map,proto3" json:"map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
-	xxx_hidden_E           M3_Enum                `protobuf:"varint,13,opt,name=e,proto3,enum=net.proto2.go.open2opaque.o2o.test3.M3_Enum" json:"e,omitempty"`
+	xxx_hidden_B           bool                   `protobuf:"varint,1,opt,name=b,proto3"`
+	xxx_hidden_Bytes       []byte                 `protobuf:"bytes,2,opt,name=bytes,proto3"`
+	xxx_hidden_F32         float32                `protobuf:"fixed32,3,opt,name=f32,proto3"`
+	xxx_hidden_F64         float64                `protobuf:"fixed64,4,opt,name=f64,proto3"`
+	xxx_hidden_I32         int32                  `protobuf:"varint,5,opt,name=i32,proto3"`
+	xxx_hidden_I64         int64                  `protobuf:"varint,6,opt,name=i64,proto3"`
+	xxx_hidden_Ui32        uint32                 `protobuf:"varint,7,opt,name=ui32,proto3"`
+	xxx_hidden_Ui64        uint64                 `protobuf:"varint,8,opt,name=ui64,proto3"`
+	xxx_hidden_S           string                 `protobuf:"bytes,9,opt,name=s,proto3"`
+	xxx_hidden_M           *M3                    `protobuf:"bytes,10,opt,name=m,proto3"`
+	xxx_hidden_Is          []int32                `protobuf:"varint,11,rep,packed,name=is,proto3"`
+	xxx_hidden_Ms          *[]*M3                 `protobuf:"bytes,12,rep,name=ms,proto3"`
+	xxx_hidden_Map         map[string]bool        `protobuf:"bytes,29,rep,name=map,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
+	xxx_hidden_E           M3_Enum                `protobuf:"varint,13,opt,name=e,proto3,enum=net.proto2.go.open2opaque.o2o.test3.M3_Enum"`
 	xxx_hidden_OneofField  isM3_OneofField        `protobuf_oneof:"oneof_field"`
-	xxx_hidden_SecondI32   int32                  `protobuf:"varint,30,opt,name=second_i32,json=secondI32,proto3" json:"second_i32,omitempty"`
-	xxx_hidden_OptB        bool                   `protobuf:"varint,31,opt,name=opt_b,json=optB,proto3,oneof" json:"opt_b,omitempty"`
-	xxx_hidden_OptBytes    []byte                 `protobuf:"bytes,32,opt,name=opt_bytes,json=optBytes,proto3,oneof" json:"opt_bytes,omitempty"`
-	xxx_hidden_OptF32      float32                `protobuf:"fixed32,33,opt,name=opt_f32,json=optF32,proto3,oneof" json:"opt_f32,omitempty"`
-	xxx_hidden_OptF64      float64                `protobuf:"fixed64,34,opt,name=opt_f64,json=optF64,proto3,oneof" json:"opt_f64,omitempty"`
-	xxx_hidden_OptI32      int32                  `protobuf:"varint,35,opt,name=opt_i32,json=optI32,proto3,oneof" json:"opt_i32,omitempty"`
-	xxx_hidden_OptI64      int64                  `protobuf:"varint,36,opt,name=opt_i64,json=optI64,proto3,oneof" json:"opt_i64,omitempty"`
-	xxx_hidden_OptUi32     uint32                 `protobuf:"varint,37,opt,name=opt_ui32,json=optUi32,proto3,oneof" json:"opt_ui32,omitempty"`
-	xxx_hidden_OptUi64     uint64                 `protobuf:"varint,38,opt,name=opt_ui64,json=optUi64,proto3,oneof" json:"opt_ui64,omitempty"`
-	xxx_hidden_OptS        *string                `protobuf:"bytes,39,opt,name=opt_s,json=optS,proto3,oneof" json:"opt_s,omitempty"`
-	xxx_hidden_OptM        *M3                    `protobuf:"bytes,40,opt,name=opt_m,json=optM,proto3,oneof" json:"opt_m,omitempty"`
-	xxx_hidden_OptE        M3_Enum                `protobuf:"varint,41,opt,name=opt_e,json=optE,proto3,enum=net.proto2.go.open2opaque.o2o.test3.M3_Enum,oneof" json:"opt_e,omitempty"`
+	xxx_hidden_SecondI32   int32                  `protobuf:"varint,30,opt,name=second_i32,json=secondI32,proto3"`
+	xxx_hidden_OptB        bool                   `protobuf:"varint,31,opt,name=opt_b,json=optB,proto3,oneof"`
+	xxx_hidden_OptBytes    []byte                 `protobuf:"bytes,32,opt,name=opt_bytes,json=optBytes,proto3,oneof"`
+	xxx_hidden_OptF32      float32                `protobuf:"fixed32,33,opt,name=opt_f32,json=optF32,proto3,oneof"`
+	xxx_hidden_OptF64      float64                `protobuf:"fixed64,34,opt,name=opt_f64,json=optF64,proto3,oneof"`
+	xxx_hidden_OptI32      int32                  `protobuf:"varint,35,opt,name=opt_i32,json=optI32,proto3,oneof"`
+	xxx_hidden_OptI64      int64                  `protobuf:"varint,36,opt,name=opt_i64,json=optI64,proto3,oneof"`
+	xxx_hidden_OptUi32     uint32                 `protobuf:"varint,37,opt,name=opt_ui32,json=optUi32,proto3,oneof"`
+	xxx_hidden_OptUi64     uint64                 `protobuf:"varint,38,opt,name=opt_ui64,json=optUi64,proto3,oneof"`
+	xxx_hidden_OptS        *string                `protobuf:"bytes,39,opt,name=opt_s,json=optS,proto3,oneof"`
+	xxx_hidden_OptM        *M3                    `protobuf:"bytes,40,opt,name=opt_m,json=optM,proto3,oneof"`
+	xxx_hidden_OptE        M3_Enum                `protobuf:"varint,41,opt,name=opt_e,json=optE,proto3,enum=net.proto2.go.open2opaque.o2o.test3.M3_Enum,oneof"`
 	XXX_raceDetectHookData protoimpl.RaceDetectHookData
 	XXX_presence           [1]uint32
 	unknownFields          protoimpl.UnknownFields
@@ -1117,105 +1118,75 @@
 
 var File_proto3test_proto protoreflect.FileDescriptor
 
-var file_proto3test_proto_rawDesc = []byte{
-	0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x12, 0x23, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67,
-	0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32,
-	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x22, 0xc9, 0x0b, 0x0a, 0x02, 0x4d, 0x33, 0x12, 0x0c,
-	0x0a, 0x01, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x01, 0x62, 0x12, 0x14, 0x0a, 0x05,
-	0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74,
-	0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x33, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52,
-	0x03, 0x66, 0x33, 0x32, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28,
-	0x01, 0x52, 0x03, 0x66, 0x36, 0x34, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x33, 0x32, 0x18, 0x05, 0x20,
-	0x01, 0x28, 0x05, 0x52, 0x03, 0x69, 0x33, 0x32, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x36, 0x34, 0x18,
-	0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x69, 0x36, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x69,
-	0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x75, 0x69, 0x33, 0x32, 0x12, 0x12,
-	0x0a, 0x04, 0x75, 0x69, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x75, 0x69,
-	0x36, 0x34, 0x12, 0x0c, 0x0a, 0x01, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x73,
-	0x12, 0x35, 0x0a, 0x01, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65,
-	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
-	0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
-	0x33, 0x2e, 0x4d, 0x33, 0x52, 0x01, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x73, 0x18, 0x0b, 0x20,
-	0x03, 0x28, 0x05, 0x52, 0x02, 0x69, 0x73, 0x12, 0x37, 0x0a, 0x02, 0x6d, 0x73, 0x18, 0x0c, 0x20,
-	0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
-	0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
-	0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x52, 0x02, 0x6d, 0x73,
-	0x12, 0x42, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e,
-	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70,
-	0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65,
-	0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
-	0x03, 0x6d, 0x61, 0x70, 0x12, 0x3a, 0x0a, 0x01, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32,
-	0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e,
-	0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e,
-	0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x01, 0x65,
-	0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
-	0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
-	0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x65,
-	0x6f, 0x66, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x4f,
-	0x6e, 0x65, 0x6f, 0x66, 0x12, 0x46, 0x0a, 0x09, 0x6d, 0x73, 0x67, 0x5f, 0x6f, 0x6e, 0x65, 0x6f,
-	0x66, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61,
-	0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33,
-	0x48, 0x00, 0x52, 0x08, 0x6d, 0x73, 0x67, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x4d, 0x0a, 0x0a,
-	0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e,
-	0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f,
-	0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f,
-	0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00,
-	0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x21, 0x0a, 0x0b, 0x62,
-	0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c,
-	0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x16,
-	0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52,
-	0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f,
-	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
-	0x0c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a,
-	0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05,
-	0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18,
-	0x1b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12,
-	0x20, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x1c, 0x20,
-	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
-	0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x69, 0x33, 0x32, 0x18,
-	0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x49, 0x33, 0x32,
-	0x12, 0x18, 0x0a, 0x05, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x48,
-	0x01, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x42, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6f, 0x70,
-	0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x02, 0x52,
-	0x08, 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07,
-	0x6f, 0x70, 0x74, 0x5f, 0x66, 0x33, 0x32, 0x18, 0x21, 0x20, 0x01, 0x28, 0x02, 0x48, 0x03, 0x52,
-	0x06, 0x6f, 0x70, 0x74, 0x46, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x70,
-	0x74, 0x5f, 0x66, 0x36, 0x34, 0x18, 0x22, 0x20, 0x01, 0x28, 0x01, 0x48, 0x04, 0x52, 0x06, 0x6f,
-	0x70, 0x74, 0x46, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f,
-	0x69, 0x33, 0x32, 0x18, 0x23, 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, 0x06, 0x6f, 0x70, 0x74,
-	0x49, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x36,
-	0x34, 0x18, 0x24, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x49, 0x36,
-	0x34, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x33, 0x32,
-	0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x33,
-	0x32, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x36, 0x34,
-	0x18, 0x26, 0x20, 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x36,
-	0x34, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x05, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x18, 0x27, 0x20,
-	0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x53, 0x88, 0x01, 0x01, 0x12, 0x41,
-	0x0a, 0x05, 0x6f, 0x70, 0x74, 0x5f, 0x6d, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
-	0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x6f, 0x70,
-	0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f, 0x2e, 0x74, 0x65,
-	0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x48, 0x0a, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x4d, 0x88, 0x01,
-	0x01, 0x12, 0x46, 0x0a, 0x05, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0e,
-	0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x67, 0x6f,
-	0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x32, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x6f, 0x32, 0x6f,
-	0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x4d, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x0b,
-	0x52, 0x04, 0x6f, 0x70, 0x74, 0x45, 0x88, 0x01, 0x01, 0x1a, 0x36, 0x0a, 0x08, 0x4d, 0x61, 0x70,
-	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, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
-	0x01, 0x22, 0x11, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x5f, 0x56,
-	0x41, 0x4c, 0x10, 0x00, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69,
-	0x65, 0x6c, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x42, 0x0c, 0x0a,
-	0x0a, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f,
-	0x6f, 0x70, 0x74, 0x5f, 0x66, 0x33, 0x32, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x74, 0x5f,
-	0x66, 0x36, 0x34, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x33, 0x32, 0x42,
-	0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x36, 0x34, 0x42, 0x0b, 0x0a, 0x09, 0x5f,
-	0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x33, 0x32, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x70, 0x74,
-	0x5f, 0x75, 0x69, 0x36, 0x34, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x42,
-	0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x6d, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x70,
-	0x74, 0x5f, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
+const file_proto3test_proto_rawDesc = "" +
+	"\n" +
+	"\x10proto3test.proto\x12#net.proto2.go.open2opaque.o2o.test3\"\xc9\v\n" +
+	"\x02M3\x12\f\n" +
+	"\x01b\x18\x01 \x01(\bR\x01b\x12\x14\n" +
+	"\x05bytes\x18\x02 \x01(\fR\x05bytes\x12\x10\n" +
+	"\x03f32\x18\x03 \x01(\x02R\x03f32\x12\x10\n" +
+	"\x03f64\x18\x04 \x01(\x01R\x03f64\x12\x10\n" +
+	"\x03i32\x18\x05 \x01(\x05R\x03i32\x12\x10\n" +
+	"\x03i64\x18\x06 \x01(\x03R\x03i64\x12\x12\n" +
+	"\x04ui32\x18\a \x01(\rR\x04ui32\x12\x12\n" +
+	"\x04ui64\x18\b \x01(\x04R\x04ui64\x12\f\n" +
+	"\x01s\x18\t \x01(\tR\x01s\x125\n" +
+	"\x01m\x18\n" +
+	" \x01(\v2'.net.proto2.go.open2opaque.o2o.test3.M3R\x01m\x12\x0e\n" +
+	"\x02is\x18\v \x03(\x05R\x02is\x127\n" +
+	"\x02ms\x18\f \x03(\v2'.net.proto2.go.open2opaque.o2o.test3.M3R\x02ms\x12B\n" +
+	"\x03map\x18\x1d \x03(\v20.net.proto2.go.open2opaque.o2o.test3.M3.MapEntryR\x03map\x12:\n" +
+	"\x01e\x18\r \x01(\x0e2,.net.proto2.go.open2opaque.o2o.test3.M3.EnumR\x01e\x12#\n" +
+	"\fstring_oneof\x18\x0e \x01(\tH\x00R\vstringOneof\x12\x1d\n" +
+	"\tint_oneof\x18\x0f \x01(\x03H\x00R\bintOneof\x12F\n" +
+	"\tmsg_oneof\x18\x10 \x01(\v2'.net.proto2.go.open2opaque.o2o.test3.M3H\x00R\bmsgOneof\x12M\n" +
+	"\n" +
+	"enum_oneof\x18\x11 \x01(\x0e2,.net.proto2.go.open2opaque.o2o.test3.M3.EnumH\x00R\tenumOneof\x12!\n" +
+	"\vbytes_oneof\x18\x12 \x01(\fH\x00R\n" +
+	"bytesOneof\x12\x16\n" +
+	"\x05build\x18\x18 \x01(\x05H\x00R\x05build\x12%\n" +
+	"\rproto_message\x18\x19 \x01(\tH\x00R\fprotoMessage\x12\x16\n" +
+	"\x05reset\x18\x1a \x01(\tH\x00R\x05reset\x12\x18\n" +
+	"\x06string\x18\x1b \x01(\tH\x00R\x06string\x12 \n" +
+	"\n" +
+	"descriptor\x18\x1c \x01(\tH\x00R\n" +
+	"descriptor\x12\x1d\n" +
+	"\n" +
+	"second_i32\x18\x1e \x01(\x05R\tsecondI32\x12\x18\n" +
+	"\x05opt_b\x18\x1f \x01(\bH\x01R\x04optB\x88\x01\x01\x12 \n" +
+	"\topt_bytes\x18  \x01(\fH\x02R\boptBytes\x88\x01\x01\x12\x1c\n" +
+	"\aopt_f32\x18! \x01(\x02H\x03R\x06optF32\x88\x01\x01\x12\x1c\n" +
+	"\aopt_f64\x18\" \x01(\x01H\x04R\x06optF64\x88\x01\x01\x12\x1c\n" +
+	"\aopt_i32\x18# \x01(\x05H\x05R\x06optI32\x88\x01\x01\x12\x1c\n" +
+	"\aopt_i64\x18$ \x01(\x03H\x06R\x06optI64\x88\x01\x01\x12\x1e\n" +
+	"\bopt_ui32\x18% \x01(\rH\aR\aoptUi32\x88\x01\x01\x12\x1e\n" +
+	"\bopt_ui64\x18& \x01(\x04H\bR\aoptUi64\x88\x01\x01\x12\x18\n" +
+	"\x05opt_s\x18' \x01(\tH\tR\x04optS\x88\x01\x01\x12A\n" +
+	"\x05opt_m\x18( \x01(\v2'.net.proto2.go.open2opaque.o2o.test3.M3H\n" +
+	"R\x04optM\x88\x01\x01\x12F\n" +
+	"\x05opt_e\x18) \x01(\x0e2,.net.proto2.go.open2opaque.o2o.test3.M3.EnumH\vR\x04optE\x88\x01\x01\x1a6\n" +
+	"\bMapEntry\x12\x10\n" +
+	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+	"\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"\x11\n" +
+	"\x04Enum\x12\t\n" +
+	"\x05E_VAL\x10\x00B\r\n" +
+	"\voneof_fieldB\b\n" +
+	"\x06_opt_bB\f\n" +
+	"\n" +
+	"_opt_bytesB\n" +
+	"\n" +
+	"\b_opt_f32B\n" +
+	"\n" +
+	"\b_opt_f64B\n" +
+	"\n" +
+	"\b_opt_i32B\n" +
+	"\n" +
+	"\b_opt_i64B\v\n" +
+	"\t_opt_ui32B\v\n" +
+	"\t_opt_ui64B\b\n" +
+	"\x06_opt_sB\b\n" +
+	"\x06_opt_mB\b\n" +
+	"\x06_opt_eb\x06proto3"
 
 var file_proto3test_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
 var file_proto3test_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
@@ -1261,7 +1232,7 @@
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_proto3test_proto_rawDesc,
+			RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto3test_proto_rawDesc), len(file_proto3test_proto_rawDesc)),
 			NumEnums:      1,
 			NumMessages:   2,
 			NumExtensions: 0,
@@ -1273,7 +1244,6 @@
 		MessageInfos:      file_proto3test_proto_msgTypes,
 	}.Build()
 	File_proto3test_proto = out.File
-	file_proto3test_proto_rawDesc = nil
 	file_proto3test_proto_goTypes = nil
 	file_proto3test_proto_depIdxs = nil
 }