// Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.0 // protoc v3.17.3 // source: validation_proto3.proto package testdata import ( reflect "reflect" sync "sync" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Proto3ExampleEnum int32 const ( Proto3ExampleEnum_P3_UNDEFINED Proto3ExampleEnum = 0 Proto3ExampleEnum_P3_THING Proto3ExampleEnum = 1 Proto3ExampleEnum_P3_OTHER_THING Proto3ExampleEnum = 2 Proto3ExampleEnum_P3_THIRD_THING Proto3ExampleEnum = 3 ) // Enum value maps for Proto3ExampleEnum. var ( Proto3ExampleEnum_name = map[int32]string{ 0: "P3_UNDEFINED", 1: "P3_THING", 2: "P3_OTHER_THING", 3: "P3_THIRD_THING", } Proto3ExampleEnum_value = map[string]int32{ "P3_UNDEFINED": 0, "P3_THING": 1, "P3_OTHER_THING": 2, "P3_THIRD_THING": 3, } ) func (x Proto3ExampleEnum) Enum() *Proto3ExampleEnum { p := new(Proto3ExampleEnum) *p = x return p } func (x Proto3ExampleEnum) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Proto3ExampleEnum) Descriptor() protoreflect.EnumDescriptor { return file_validation_proto3_proto_enumTypes[0].Descriptor() } func (Proto3ExampleEnum) Type() protoreflect.EnumType { return &file_validation_proto3_proto_enumTypes[0] } func (x Proto3ExampleEnum) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Proto3ExampleEnum.Descriptor instead. func (Proto3ExampleEnum) EnumDescriptor() ([]byte, []int) { return file_validation_proto3_proto_rawDescGZIP(), []int{0} } // Validation message in proto3 syntax with default value behavior. type ValidationP3Defaults struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DoubleField float64 `protobuf:"fixed64,1,opt,name=double_field,json=doubleField,proto3" json:"double_field,omitempty"` FloatField float32 `protobuf:"fixed32,2,opt,name=float_field,json=floatField,proto3" json:"float_field,omitempty"` Int32Field int32 `protobuf:"varint,3,opt,name=int32_field,json=int32Field,proto3" json:"int32_field,omitempty"` Int64Field int64 `protobuf:"varint,4,opt,name=int64_field,json=int64Field,proto3" json:"int64_field,omitempty"` Uint32Field uint32 `protobuf:"varint,5,opt,name=uint32_field,json=uint32Field,proto3" json:"uint32_field,omitempty"` //uint64 uint64_field = 6; Sint32Field int32 `protobuf:"zigzag32,7,opt,name=sint32_field,json=sint32Field,proto3" json:"sint32_field,omitempty"` Sint64Field int64 `protobuf:"zigzag64,8,opt,name=sint64_field,json=sint64Field,proto3" json:"sint64_field,omitempty"` Fixed32Field uint32 `protobuf:"fixed32,9,opt,name=fixed32_field,json=fixed32Field,proto3" json:"fixed32_field,omitempty"` //fixed64 fixed64_field = 10; Sfixed32Field int32 `protobuf:"fixed32,11,opt,name=sfixed32_field,json=sfixed32Field,proto3" json:"sfixed32_field,omitempty"` Sfixed64Field int64 `protobuf:"fixed64,12,opt,name=sfixed64_field,json=sfixed64Field,proto3" json:"sfixed64_field,omitempty"` BoolField bool `protobuf:"varint,13,opt,name=bool_field,json=boolField,proto3" json:"bool_field,omitempty"` StringField string `protobuf:"bytes,14,opt,name=string_field,json=stringField,proto3" json:"string_field,omitempty"` BytesField []byte `protobuf:"bytes,15,opt,name=bytes_field,json=bytesField,proto3" json:"bytes_field,omitempty"` EnumField Proto3ExampleEnum `protobuf:"varint,16,opt,name=enum_field,json=enumField,proto3,enum=testdata.Proto3ExampleEnum" json:"enum_field,omitempty"` } func (x *ValidationP3Defaults) Reset() { *x = ValidationP3Defaults{} if protoimpl.UnsafeEnabled { mi := &file_validation_proto3_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValidationP3Defaults) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValidationP3Defaults) ProtoMessage() {} func (x *ValidationP3Defaults) ProtoReflect() protoreflect.Message { mi := &file_validation_proto3_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ValidationP3Defaults.ProtoReflect.Descriptor instead. func (*ValidationP3Defaults) Descriptor() ([]byte, []int) { return file_validation_proto3_proto_rawDescGZIP(), []int{0} } func (x *ValidationP3Defaults) GetDoubleField() float64 { if x != nil { return x.DoubleField } return 0 } func (x *ValidationP3Defaults) GetFloatField() float32 { if x != nil { return x.FloatField } return 0 } func (x *ValidationP3Defaults) GetInt32Field() int32 { if x != nil { return x.Int32Field } return 0 } func (x *ValidationP3Defaults) GetInt64Field() int64 { if x != nil { return x.Int64Field } return 0 } func (x *ValidationP3Defaults) GetUint32Field() uint32 { if x != nil { return x.Uint32Field } return 0 } func (x *ValidationP3Defaults) GetSint32Field() int32 { if x != nil { return x.Sint32Field } return 0 } func (x *ValidationP3Defaults) GetSint64Field() int64 { if x != nil { return x.Sint64Field } return 0 } func (x *ValidationP3Defaults) GetFixed32Field() uint32 { if x != nil { return x.Fixed32Field } return 0 } func (x *ValidationP3Defaults) GetSfixed32Field() int32 { if x != nil { return x.Sfixed32Field } return 0 } func (x *ValidationP3Defaults) GetSfixed64Field() int64 { if x != nil { return x.Sfixed64Field } return 0 } func (x *ValidationP3Defaults) GetBoolField() bool { if x != nil { return x.BoolField } return false } func (x *ValidationP3Defaults) GetStringField() string { if x != nil { return x.StringField } return "" } func (x *ValidationP3Defaults) GetBytesField() []byte { if x != nil { return x.BytesField } return nil } func (x *ValidationP3Defaults) GetEnumField() Proto3ExampleEnum { if x != nil { return x.EnumField } return Proto3ExampleEnum_P3_UNDEFINED } // Validation message in proto2 syntax with field presence via optional keyword. type ValidationP3Optional struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DoubleField *float64 `protobuf:"fixed64,1,opt,name=double_field,json=doubleField,proto3,oneof" json:"double_field,omitempty"` FloatField *float32 `protobuf:"fixed32,2,opt,name=float_field,json=floatField,proto3,oneof" json:"float_field,omitempty"` Int32Field *int32 `protobuf:"varint,3,opt,name=int32_field,json=int32Field,proto3,oneof" json:"int32_field,omitempty"` Int64Field *int64 `protobuf:"varint,4,opt,name=int64_field,json=int64Field,proto3,oneof" json:"int64_field,omitempty"` Uint32Field *uint32 `protobuf:"varint,5,opt,name=uint32_field,json=uint32Field,proto3,oneof" json:"uint32_field,omitempty"` //optional uint64 uint64_field = 6; Sint32Field *int32 `protobuf:"zigzag32,7,opt,name=sint32_field,json=sint32Field,proto3,oneof" json:"sint32_field,omitempty"` Sint64Field *int64 `protobuf:"zigzag64,8,opt,name=sint64_field,json=sint64Field,proto3,oneof" json:"sint64_field,omitempty"` Fixed32Field *uint32 `protobuf:"fixed32,9,opt,name=fixed32_field,json=fixed32Field,proto3,oneof" json:"fixed32_field,omitempty"` //optional fixed64 fixed64_field = 10; Sfixed32Field *int32 `protobuf:"fixed32,11,opt,name=sfixed32_field,json=sfixed32Field,proto3,oneof" json:"sfixed32_field,omitempty"` Sfixed64Field *int64 `protobuf:"fixed64,12,opt,name=sfixed64_field,json=sfixed64Field,proto3,oneof" json:"sfixed64_field,omitempty"` BoolField *bool `protobuf:"varint,13,opt,name=bool_field,json=boolField,proto3,oneof" json:"bool_field,omitempty"` StringField *string `protobuf:"bytes,14,opt,name=string_field,json=stringField,proto3,oneof" json:"string_field,omitempty"` BytesField []byte `protobuf:"bytes,15,opt,name=bytes_field,json=bytesField,proto3,oneof" json:"bytes_field,omitempty"` EnumField *Proto3ExampleEnum `protobuf:"varint,16,opt,name=enum_field,json=enumField,proto3,enum=testdata.Proto3ExampleEnum,oneof" json:"enum_field,omitempty"` } func (x *ValidationP3Optional) Reset() { *x = ValidationP3Optional{} if protoimpl.UnsafeEnabled { mi := &file_validation_proto3_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValidationP3Optional) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValidationP3Optional) ProtoMessage() {} func (x *ValidationP3Optional) ProtoReflect() protoreflect.Message { mi := &file_validation_proto3_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ValidationP3Optional.ProtoReflect.Descriptor instead. func (*ValidationP3Optional) Descriptor() ([]byte, []int) { return file_validation_proto3_proto_rawDescGZIP(), []int{1} } func (x *ValidationP3Optional) GetDoubleField() float64 { if x != nil && x.DoubleField != nil { return *x.DoubleField } return 0 } func (x *ValidationP3Optional) GetFloatField() float32 { if x != nil && x.FloatField != nil { return *x.FloatField } return 0 } func (x *ValidationP3Optional) GetInt32Field() int32 { if x != nil && x.Int32Field != nil { return *x.Int32Field } return 0 } func (x *ValidationP3Optional) GetInt64Field() int64 { if x != nil && x.Int64Field != nil { return *x.Int64Field } return 0 } func (x *ValidationP3Optional) GetUint32Field() uint32 { if x != nil && x.Uint32Field != nil { return *x.Uint32Field } return 0 } func (x *ValidationP3Optional) GetSint32Field() int32 { if x != nil && x.Sint32Field != nil { return *x.Sint32Field } return 0 } func (x *ValidationP3Optional) GetSint64Field() int64 { if x != nil && x.Sint64Field != nil { return *x.Sint64Field } return 0 } func (x *ValidationP3Optional) GetFixed32Field() uint32 { if x != nil && x.Fixed32Field != nil { return *x.Fixed32Field } return 0 } func (x *ValidationP3Optional) GetSfixed32Field() int32 { if x != nil && x.Sfixed32Field != nil { return *x.Sfixed32Field } return 0 } func (x *ValidationP3Optional) GetSfixed64Field() int64 { if x != nil && x.Sfixed64Field != nil { return *x.Sfixed64Field } return 0 } func (x *ValidationP3Optional) GetBoolField() bool { if x != nil && x.BoolField != nil { return *x.BoolField } return false } func (x *ValidationP3Optional) GetStringField() string { if x != nil && x.StringField != nil { return *x.StringField } return "" } func (x *ValidationP3Optional) GetBytesField() []byte { if x != nil { return x.BytesField } return nil } func (x *ValidationP3Optional) GetEnumField() Proto3ExampleEnum { if x != nil && x.EnumField != nil { return *x.EnumField } return Proto3ExampleEnum_P3_UNDEFINED } // Validation message in proto2 syntax with all well-known // wraper types. // Note: There are no well-known sint/fixed/sfixed. type ValidationP3Wrappers struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DoubleField *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=double_field,json=doubleField,proto3" json:"double_field,omitempty"` FloatField *wrapperspb.FloatValue `protobuf:"bytes,2,opt,name=float_field,json=floatField,proto3" json:"float_field,omitempty"` Int32Field *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=int32_field,json=int32Field,proto3" json:"int32_field,omitempty"` Int64Field *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=int64_field,json=int64Field,proto3" json:"int64_field,omitempty"` Uint32Field *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=uint32_field,json=uint32Field,proto3" json:"uint32_field,omitempty"` //google.protobuf.UInt64Value uint64_field = 6; Sint32Field int32 `protobuf:"zigzag32,7,opt,name=sint32_field,json=sint32Field,proto3" json:"sint32_field,omitempty"` Sint64Field int64 `protobuf:"zigzag64,8,opt,name=sint64_field,json=sint64Field,proto3" json:"sint64_field,omitempty"` Fixed32Field uint32 `protobuf:"fixed32,9,opt,name=fixed32_field,json=fixed32Field,proto3" json:"fixed32_field,omitempty"` //fixed64 fixed64_field = 10; Sfixed32Field int32 `protobuf:"fixed32,11,opt,name=sfixed32_field,json=sfixed32Field,proto3" json:"sfixed32_field,omitempty"` Sfixed64Field int64 `protobuf:"fixed64,12,opt,name=sfixed64_field,json=sfixed64Field,proto3" json:"sfixed64_field,omitempty"` BoolField *wrapperspb.BoolValue `protobuf:"bytes,13,opt,name=bool_field,json=boolField,proto3" json:"bool_field,omitempty"` StringField *wrapperspb.StringValue `protobuf:"bytes,14,opt,name=string_field,json=stringField,proto3" json:"string_field,omitempty"` BytesField *wrapperspb.BytesValue `protobuf:"bytes,15,opt,name=bytes_field,json=bytesField,proto3" json:"bytes_field,omitempty"` EnumField Proto3ExampleEnum `protobuf:"varint,16,opt,name=enum_field,json=enumField,proto3,enum=testdata.Proto3ExampleEnum" json:"enum_field,omitempty"` } func (x *ValidationP3Wrappers) Reset() { *x = ValidationP3Wrappers{} if protoimpl.UnsafeEnabled { mi := &file_validation_proto3_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValidationP3Wrappers) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValidationP3Wrappers) ProtoMessage() {} func (x *ValidationP3Wrappers) ProtoReflect() protoreflect.Message { mi := &file_validation_proto3_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ValidationP3Wrappers.ProtoReflect.Descriptor instead. func (*ValidationP3Wrappers) Descriptor() ([]byte, []int) { return file_validation_proto3_proto_rawDescGZIP(), []int{2} } func (x *ValidationP3Wrappers) GetDoubleField() *wrapperspb.DoubleValue { if x != nil { return x.DoubleField } return nil } func (x *ValidationP3Wrappers) GetFloatField() *wrapperspb.FloatValue { if x != nil { return x.FloatField } return nil } func (x *ValidationP3Wrappers) GetInt32Field() *wrapperspb.Int32Value { if x != nil { return x.Int32Field } return nil } func (x *ValidationP3Wrappers) GetInt64Field() *wrapperspb.Int64Value { if x != nil { return x.Int64Field } return nil } func (x *ValidationP3Wrappers) GetUint32Field() *wrapperspb.UInt32Value { if x != nil { return x.Uint32Field } return nil } func (x *ValidationP3Wrappers) GetSint32Field() int32 { if x != nil { return x.Sint32Field } return 0 } func (x *ValidationP3Wrappers) GetSint64Field() int64 { if x != nil { return x.Sint64Field } return 0 } func (x *ValidationP3Wrappers) GetFixed32Field() uint32 { if x != nil { return x.Fixed32Field } return 0 } func (x *ValidationP3Wrappers) GetSfixed32Field() int32 { if x != nil { return x.Sfixed32Field } return 0 } func (x *ValidationP3Wrappers) GetSfixed64Field() int64 { if x != nil { return x.Sfixed64Field } return 0 } func (x *ValidationP3Wrappers) GetBoolField() *wrapperspb.BoolValue { if x != nil { return x.BoolField } return nil } func (x *ValidationP3Wrappers) GetStringField() *wrapperspb.StringValue { if x != nil { return x.StringField } return nil } func (x *ValidationP3Wrappers) GetBytesField() *wrapperspb.BytesValue { if x != nil { return x.BytesField } return nil } func (x *ValidationP3Wrappers) GetEnumField() Proto3ExampleEnum { if x != nil { return x.EnumField } return Proto3ExampleEnum_P3_UNDEFINED } // Validating the behavior of packed repeated scalar values. // Proto3 behavior is to pack values by default. type ValidationP3PackedRepeated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *int64 `protobuf:"varint,1,opt,name=id,proto3,oneof" json:"id,omitempty"` DoubleRepeated []float64 `protobuf:"fixed64,2,rep,packed,name=double_repeated,json=doubleRepeated,proto3" json:"double_repeated,omitempty"` FloatRepeated []float32 `protobuf:"fixed32,3,rep,packed,name=float_repeated,json=floatRepeated,proto3" json:"float_repeated,omitempty"` Int32Repeated []int32 `protobuf:"varint,4,rep,packed,name=int32_repeated,json=int32Repeated,proto3" json:"int32_repeated,omitempty"` Int64Repeated []int64 `protobuf:"varint,5,rep,packed,name=int64_repeated,json=int64Repeated,proto3" json:"int64_repeated,omitempty"` Uint32Repeated []uint32 `protobuf:"varint,6,rep,packed,name=uint32_repeated,json=uint32Repeated,proto3" json:"uint32_repeated,omitempty"` Sint32Repeated []int32 `protobuf:"zigzag32,7,rep,packed,name=sint32_repeated,json=sint32Repeated,proto3" json:"sint32_repeated,omitempty"` Sint64Repeated []int64 `protobuf:"zigzag64,8,rep,packed,name=sint64_repeated,json=sint64Repeated,proto3" json:"sint64_repeated,omitempty"` Fixed32Repeated []uint32 `protobuf:"fixed32,9,rep,packed,name=fixed32_repeated,json=fixed32Repeated,proto3" json:"fixed32_repeated,omitempty"` Sfixed32Repeated []int32 `protobuf:"fixed32,10,rep,packed,name=sfixed32_repeated,json=sfixed32Repeated,proto3" json:"sfixed32_repeated,omitempty"` Sfixed64Repeated []int64 `protobuf:"fixed64,11,rep,packed,name=sfixed64_repeated,json=sfixed64Repeated,proto3" json:"sfixed64_repeated,omitempty"` BoolRepeated []bool `protobuf:"varint,12,rep,packed,name=bool_repeated,json=boolRepeated,proto3" json:"bool_repeated,omitempty"` EnumRepeated []Proto3ExampleEnum `protobuf:"varint,13,rep,packed,name=enum_repeated,json=enumRepeated,proto3,enum=testdata.Proto3ExampleEnum" json:"enum_repeated,omitempty"` } func (x *ValidationP3PackedRepeated) Reset() { *x = ValidationP3PackedRepeated{} if protoimpl.UnsafeEnabled { mi := &file_validation_proto3_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValidationP3PackedRepeated) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValidationP3PackedRepeated) ProtoMessage() {} func (x *ValidationP3PackedRepeated) ProtoReflect() protoreflect.Message { mi := &file_validation_proto3_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ValidationP3PackedRepeated.ProtoReflect.Descriptor instead. func (*ValidationP3PackedRepeated) Descriptor() ([]byte, []int) { return file_validation_proto3_proto_rawDescGZIP(), []int{3} } func (x *ValidationP3PackedRepeated) GetId() int64 { if x != nil && x.Id != nil { return *x.Id } return 0 } func (x *ValidationP3PackedRepeated) GetDoubleRepeated() []float64 { if x != nil { return x.DoubleRepeated } return nil } func (x *ValidationP3PackedRepeated) GetFloatRepeated() []float32 { if x != nil { return x.FloatRepeated } return nil } func (x *ValidationP3PackedRepeated) GetInt32Repeated() []int32 { if x != nil { return x.Int32Repeated } return nil } func (x *ValidationP3PackedRepeated) GetInt64Repeated() []int64 { if x != nil { return x.Int64Repeated } return nil } func (x *ValidationP3PackedRepeated) GetUint32Repeated() []uint32 { if x != nil { return x.Uint32Repeated } return nil } func (x *ValidationP3PackedRepeated) GetSint32Repeated() []int32 { if x != nil { return x.Sint32Repeated } return nil } func (x *ValidationP3PackedRepeated) GetSint64Repeated() []int64 { if x != nil { return x.Sint64Repeated } return nil } func (x *ValidationP3PackedRepeated) GetFixed32Repeated() []uint32 { if x != nil { return x.Fixed32Repeated } return nil } func (x *ValidationP3PackedRepeated) GetSfixed32Repeated() []int32 { if x != nil { return x.Sfixed32Repeated } return nil } func (x *ValidationP3PackedRepeated) GetSfixed64Repeated() []int64 { if x != nil { return x.Sfixed64Repeated } return nil } func (x *ValidationP3PackedRepeated) GetBoolRepeated() []bool { if x != nil { return x.BoolRepeated } return nil } func (x *ValidationP3PackedRepeated) GetEnumRepeated() []Proto3ExampleEnum { if x != nil { return x.EnumRepeated } return nil } var File_validation_proto3_proto protoreflect.FileDescriptor var file_validation_proto3_proto_rawDesc = []byte{ 0x0a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x04, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x33, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x0d, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x10, 0x52, 0x0d, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xc8, 0x06, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x48, 0x05, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x48, 0x06, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x07, 0x48, 0x07, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0f, 0x48, 0x08, 0x52, 0x0d, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x10, 0x48, 0x09, 0x52, 0x0d, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0a, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0c, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x0d, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x81, 0x06, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x33, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x0d, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x10, 0x52, 0x0d, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xbd, 0x04, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x33, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x01, 0x52, 0x0e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x12, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0f, 0x52, 0x10, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x0d, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0c, 0x65, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x2a, 0x5b, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x33, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x33, 0x5f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x33, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x33, 0x5f, 0x54, 0x48, 0x49, 0x52, 0x44, 0x5f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x42, 0x3d, 0x5a, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_validation_proto3_proto_rawDescOnce sync.Once file_validation_proto3_proto_rawDescData = file_validation_proto3_proto_rawDesc ) func file_validation_proto3_proto_rawDescGZIP() []byte { file_validation_proto3_proto_rawDescOnce.Do(func() { file_validation_proto3_proto_rawDescData = protoimpl.X.CompressGZIP(file_validation_proto3_proto_rawDescData) }) return file_validation_proto3_proto_rawDescData } var file_validation_proto3_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_validation_proto3_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_validation_proto3_proto_goTypes = []interface{}{ (Proto3ExampleEnum)(0), // 0: testdata.Proto3ExampleEnum (*ValidationP3Defaults)(nil), // 1: testdata.ValidationP3Defaults (*ValidationP3Optional)(nil), // 2: testdata.ValidationP3Optional (*ValidationP3Wrappers)(nil), // 3: testdata.ValidationP3Wrappers (*ValidationP3PackedRepeated)(nil), // 4: testdata.ValidationP3PackedRepeated (*wrapperspb.DoubleValue)(nil), // 5: google.protobuf.DoubleValue (*wrapperspb.FloatValue)(nil), // 6: google.protobuf.FloatValue (*wrapperspb.Int32Value)(nil), // 7: google.protobuf.Int32Value (*wrapperspb.Int64Value)(nil), // 8: google.protobuf.Int64Value (*wrapperspb.UInt32Value)(nil), // 9: google.protobuf.UInt32Value (*wrapperspb.BoolValue)(nil), // 10: google.protobuf.BoolValue (*wrapperspb.StringValue)(nil), // 11: google.protobuf.StringValue (*wrapperspb.BytesValue)(nil), // 12: google.protobuf.BytesValue } var file_validation_proto3_proto_depIdxs = []int32{ 0, // 0: testdata.ValidationP3Defaults.enum_field:type_name -> testdata.Proto3ExampleEnum 0, // 1: testdata.ValidationP3Optional.enum_field:type_name -> testdata.Proto3ExampleEnum 5, // 2: testdata.ValidationP3Wrappers.double_field:type_name -> google.protobuf.DoubleValue 6, // 3: testdata.ValidationP3Wrappers.float_field:type_name -> google.protobuf.FloatValue 7, // 4: testdata.ValidationP3Wrappers.int32_field:type_name -> google.protobuf.Int32Value 8, // 5: testdata.ValidationP3Wrappers.int64_field:type_name -> google.protobuf.Int64Value 9, // 6: testdata.ValidationP3Wrappers.uint32_field:type_name -> google.protobuf.UInt32Value 10, // 7: testdata.ValidationP3Wrappers.bool_field:type_name -> google.protobuf.BoolValue 11, // 8: testdata.ValidationP3Wrappers.string_field:type_name -> google.protobuf.StringValue 12, // 9: testdata.ValidationP3Wrappers.bytes_field:type_name -> google.protobuf.BytesValue 0, // 10: testdata.ValidationP3Wrappers.enum_field:type_name -> testdata.Proto3ExampleEnum 0, // 11: testdata.ValidationP3PackedRepeated.enum_repeated:type_name -> testdata.Proto3ExampleEnum 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_validation_proto3_proto_init() } func file_validation_proto3_proto_init() { if File_validation_proto3_proto != nil { return } if !protoimpl.UnsafeEnabled { file_validation_proto3_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidationP3Defaults); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_validation_proto3_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidationP3Optional); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_validation_proto3_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidationP3Wrappers); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_validation_proto3_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidationP3PackedRepeated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_validation_proto3_proto_msgTypes[1].OneofWrappers = []interface{}{} file_validation_proto3_proto_msgTypes[3].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_validation_proto3_proto_rawDesc, NumEnums: 1, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_validation_proto3_proto_goTypes, DependencyIndexes: file_validation_proto3_proto_depIdxs, EnumInfos: file_validation_proto3_proto_enumTypes, MessageInfos: file_validation_proto3_proto_msgTypes, }.Build() File_validation_proto3_proto = out.File file_validation_proto3_proto_rawDesc = nil file_validation_proto3_proto_goTypes = nil file_validation_proto3_proto_depIdxs = nil }