| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.30.0 |
| // protoc v3.21.12 |
| // source: validate/validate.proto |
| |
| package validate |
| |
| import ( |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| descriptorpb "google.golang.org/protobuf/types/descriptorpb" |
| durationpb "google.golang.org/protobuf/types/known/durationpb" |
| timestamppb "google.golang.org/protobuf/types/known/timestamppb" |
| reflect "reflect" |
| sync "sync" |
| ) |
| |
| 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) |
| ) |
| |
| // WellKnownRegex contain some well-known patterns. |
| type KnownRegex int32 |
| |
| const ( |
| KnownRegex_UNKNOWN KnownRegex = 0 |
| // HTTP header name as defined by RFC 7230. |
| KnownRegex_HTTP_HEADER_NAME KnownRegex = 1 |
| // HTTP header value as defined by RFC 7230. |
| KnownRegex_HTTP_HEADER_VALUE KnownRegex = 2 |
| ) |
| |
| // Enum value maps for KnownRegex. |
| var ( |
| KnownRegex_name = map[int32]string{ |
| 0: "UNKNOWN", |
| 1: "HTTP_HEADER_NAME", |
| 2: "HTTP_HEADER_VALUE", |
| } |
| KnownRegex_value = map[string]int32{ |
| "UNKNOWN": 0, |
| "HTTP_HEADER_NAME": 1, |
| "HTTP_HEADER_VALUE": 2, |
| } |
| ) |
| |
| func (x KnownRegex) Enum() *KnownRegex { |
| p := new(KnownRegex) |
| *p = x |
| return p |
| } |
| |
| func (x KnownRegex) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (KnownRegex) Descriptor() protoreflect.EnumDescriptor { |
| return file_validate_validate_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (KnownRegex) Type() protoreflect.EnumType { |
| return &file_validate_validate_proto_enumTypes[0] |
| } |
| |
| func (x KnownRegex) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Do not use. |
| func (x *KnownRegex) UnmarshalJSON(b []byte) error { |
| num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) |
| if err != nil { |
| return err |
| } |
| *x = KnownRegex(num) |
| return nil |
| } |
| |
| // Deprecated: Use KnownRegex.Descriptor instead. |
| func (KnownRegex) EnumDescriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{0} |
| } |
| |
| // FieldRules encapsulates the rules for each type of field. Depending on the |
| // field, the correct set should be used to ensure proper validations. |
| type FieldRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Message *MessageRules `protobuf:"bytes,17,opt,name=message" json:"message,omitempty"` |
| // Types that are assignable to Type: |
| // |
| // *FieldRules_Float |
| // *FieldRules_Double |
| // *FieldRules_Int32 |
| // *FieldRules_Int64 |
| // *FieldRules_Uint32 |
| // *FieldRules_Uint64 |
| // *FieldRules_Sint32 |
| // *FieldRules_Sint64 |
| // *FieldRules_Fixed32 |
| // *FieldRules_Fixed64 |
| // *FieldRules_Sfixed32 |
| // *FieldRules_Sfixed64 |
| // *FieldRules_Bool |
| // *FieldRules_String_ |
| // *FieldRules_Bytes |
| // *FieldRules_Enum |
| // *FieldRules_Repeated |
| // *FieldRules_Map |
| // *FieldRules_Any |
| // *FieldRules_Duration |
| // *FieldRules_Timestamp |
| Type isFieldRules_Type `protobuf_oneof:"type"` |
| } |
| |
| func (x *FieldRules) Reset() { |
| *x = FieldRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *FieldRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*FieldRules) ProtoMessage() {} |
| |
| func (x *FieldRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_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 FieldRules.ProtoReflect.Descriptor instead. |
| func (*FieldRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *FieldRules) GetMessage() *MessageRules { |
| if x != nil { |
| return x.Message |
| } |
| return nil |
| } |
| |
| func (m *FieldRules) GetType() isFieldRules_Type { |
| if m != nil { |
| return m.Type |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetFloat() *FloatRules { |
| if x, ok := x.GetType().(*FieldRules_Float); ok { |
| return x.Float |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetDouble() *DoubleRules { |
| if x, ok := x.GetType().(*FieldRules_Double); ok { |
| return x.Double |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetInt32() *Int32Rules { |
| if x, ok := x.GetType().(*FieldRules_Int32); ok { |
| return x.Int32 |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetInt64() *Int64Rules { |
| if x, ok := x.GetType().(*FieldRules_Int64); ok { |
| return x.Int64 |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetUint32() *UInt32Rules { |
| if x, ok := x.GetType().(*FieldRules_Uint32); ok { |
| return x.Uint32 |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetUint64() *UInt64Rules { |
| if x, ok := x.GetType().(*FieldRules_Uint64); ok { |
| return x.Uint64 |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetSint32() *SInt32Rules { |
| if x, ok := x.GetType().(*FieldRules_Sint32); ok { |
| return x.Sint32 |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetSint64() *SInt64Rules { |
| if x, ok := x.GetType().(*FieldRules_Sint64); ok { |
| return x.Sint64 |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetFixed32() *Fixed32Rules { |
| if x, ok := x.GetType().(*FieldRules_Fixed32); ok { |
| return x.Fixed32 |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetFixed64() *Fixed64Rules { |
| if x, ok := x.GetType().(*FieldRules_Fixed64); ok { |
| return x.Fixed64 |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetSfixed32() *SFixed32Rules { |
| if x, ok := x.GetType().(*FieldRules_Sfixed32); ok { |
| return x.Sfixed32 |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetSfixed64() *SFixed64Rules { |
| if x, ok := x.GetType().(*FieldRules_Sfixed64); ok { |
| return x.Sfixed64 |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetBool() *BoolRules { |
| if x, ok := x.GetType().(*FieldRules_Bool); ok { |
| return x.Bool |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetString_() *StringRules { |
| if x, ok := x.GetType().(*FieldRules_String_); ok { |
| return x.String_ |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetBytes() *BytesRules { |
| if x, ok := x.GetType().(*FieldRules_Bytes); ok { |
| return x.Bytes |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetEnum() *EnumRules { |
| if x, ok := x.GetType().(*FieldRules_Enum); ok { |
| return x.Enum |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetRepeated() *RepeatedRules { |
| if x, ok := x.GetType().(*FieldRules_Repeated); ok { |
| return x.Repeated |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetMap() *MapRules { |
| if x, ok := x.GetType().(*FieldRules_Map); ok { |
| return x.Map |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetAny() *AnyRules { |
| if x, ok := x.GetType().(*FieldRules_Any); ok { |
| return x.Any |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetDuration() *DurationRules { |
| if x, ok := x.GetType().(*FieldRules_Duration); ok { |
| return x.Duration |
| } |
| return nil |
| } |
| |
| func (x *FieldRules) GetTimestamp() *TimestampRules { |
| if x, ok := x.GetType().(*FieldRules_Timestamp); ok { |
| return x.Timestamp |
| } |
| return nil |
| } |
| |
| type isFieldRules_Type interface { |
| isFieldRules_Type() |
| } |
| |
| type FieldRules_Float struct { |
| // Scalar Field Types |
| Float *FloatRules `protobuf:"bytes,1,opt,name=float,oneof"` |
| } |
| |
| type FieldRules_Double struct { |
| Double *DoubleRules `protobuf:"bytes,2,opt,name=double,oneof"` |
| } |
| |
| type FieldRules_Int32 struct { |
| Int32 *Int32Rules `protobuf:"bytes,3,opt,name=int32,oneof"` |
| } |
| |
| type FieldRules_Int64 struct { |
| Int64 *Int64Rules `protobuf:"bytes,4,opt,name=int64,oneof"` |
| } |
| |
| type FieldRules_Uint32 struct { |
| Uint32 *UInt32Rules `protobuf:"bytes,5,opt,name=uint32,oneof"` |
| } |
| |
| type FieldRules_Uint64 struct { |
| Uint64 *UInt64Rules `protobuf:"bytes,6,opt,name=uint64,oneof"` |
| } |
| |
| type FieldRules_Sint32 struct { |
| Sint32 *SInt32Rules `protobuf:"bytes,7,opt,name=sint32,oneof"` |
| } |
| |
| type FieldRules_Sint64 struct { |
| Sint64 *SInt64Rules `protobuf:"bytes,8,opt,name=sint64,oneof"` |
| } |
| |
| type FieldRules_Fixed32 struct { |
| Fixed32 *Fixed32Rules `protobuf:"bytes,9,opt,name=fixed32,oneof"` |
| } |
| |
| type FieldRules_Fixed64 struct { |
| Fixed64 *Fixed64Rules `protobuf:"bytes,10,opt,name=fixed64,oneof"` |
| } |
| |
| type FieldRules_Sfixed32 struct { |
| Sfixed32 *SFixed32Rules `protobuf:"bytes,11,opt,name=sfixed32,oneof"` |
| } |
| |
| type FieldRules_Sfixed64 struct { |
| Sfixed64 *SFixed64Rules `protobuf:"bytes,12,opt,name=sfixed64,oneof"` |
| } |
| |
| type FieldRules_Bool struct { |
| Bool *BoolRules `protobuf:"bytes,13,opt,name=bool,oneof"` |
| } |
| |
| type FieldRules_String_ struct { |
| String_ *StringRules `protobuf:"bytes,14,opt,name=string,oneof"` |
| } |
| |
| type FieldRules_Bytes struct { |
| Bytes *BytesRules `protobuf:"bytes,15,opt,name=bytes,oneof"` |
| } |
| |
| type FieldRules_Enum struct { |
| // Complex Field Types |
| Enum *EnumRules `protobuf:"bytes,16,opt,name=enum,oneof"` |
| } |
| |
| type FieldRules_Repeated struct { |
| Repeated *RepeatedRules `protobuf:"bytes,18,opt,name=repeated,oneof"` |
| } |
| |
| type FieldRules_Map struct { |
| Map *MapRules `protobuf:"bytes,19,opt,name=map,oneof"` |
| } |
| |
| type FieldRules_Any struct { |
| // Well-Known Field Types |
| Any *AnyRules `protobuf:"bytes,20,opt,name=any,oneof"` |
| } |
| |
| type FieldRules_Duration struct { |
| Duration *DurationRules `protobuf:"bytes,21,opt,name=duration,oneof"` |
| } |
| |
| type FieldRules_Timestamp struct { |
| Timestamp *TimestampRules `protobuf:"bytes,22,opt,name=timestamp,oneof"` |
| } |
| |
| func (*FieldRules_Float) isFieldRules_Type() {} |
| |
| func (*FieldRules_Double) isFieldRules_Type() {} |
| |
| func (*FieldRules_Int32) isFieldRules_Type() {} |
| |
| func (*FieldRules_Int64) isFieldRules_Type() {} |
| |
| func (*FieldRules_Uint32) isFieldRules_Type() {} |
| |
| func (*FieldRules_Uint64) isFieldRules_Type() {} |
| |
| func (*FieldRules_Sint32) isFieldRules_Type() {} |
| |
| func (*FieldRules_Sint64) isFieldRules_Type() {} |
| |
| func (*FieldRules_Fixed32) isFieldRules_Type() {} |
| |
| func (*FieldRules_Fixed64) isFieldRules_Type() {} |
| |
| func (*FieldRules_Sfixed32) isFieldRules_Type() {} |
| |
| func (*FieldRules_Sfixed64) isFieldRules_Type() {} |
| |
| func (*FieldRules_Bool) isFieldRules_Type() {} |
| |
| func (*FieldRules_String_) isFieldRules_Type() {} |
| |
| func (*FieldRules_Bytes) isFieldRules_Type() {} |
| |
| func (*FieldRules_Enum) isFieldRules_Type() {} |
| |
| func (*FieldRules_Repeated) isFieldRules_Type() {} |
| |
| func (*FieldRules_Map) isFieldRules_Type() {} |
| |
| func (*FieldRules_Any) isFieldRules_Type() {} |
| |
| func (*FieldRules_Duration) isFieldRules_Type() {} |
| |
| func (*FieldRules_Timestamp) isFieldRules_Type() {} |
| |
| // FloatRules describes the constraints applied to `float` values |
| type FloatRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *float32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *float32 `protobuf:"fixed32,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *float32 `protobuf:"fixed32,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *float32 `protobuf:"fixed32,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *float32 `protobuf:"fixed32,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []float32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []float32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *FloatRules) Reset() { |
| *x = FloatRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *FloatRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*FloatRules) ProtoMessage() {} |
| |
| func (x *FloatRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_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 FloatRules.ProtoReflect.Descriptor instead. |
| func (*FloatRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *FloatRules) GetConst() float32 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *FloatRules) GetLt() float32 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *FloatRules) GetLte() float32 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *FloatRules) GetGt() float32 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *FloatRules) GetGte() float32 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *FloatRules) GetIn() []float32 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *FloatRules) GetNotIn() []float32 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *FloatRules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // DoubleRules describes the constraints applied to `double` values |
| type DoubleRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *float64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *float64 `protobuf:"fixed64,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *float64 `protobuf:"fixed64,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *float64 `protobuf:"fixed64,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *float64 `protobuf:"fixed64,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []float64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []float64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *DoubleRules) Reset() { |
| *x = DoubleRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DoubleRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DoubleRules) ProtoMessage() {} |
| |
| func (x *DoubleRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_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 DoubleRules.ProtoReflect.Descriptor instead. |
| func (*DoubleRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *DoubleRules) GetConst() float64 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *DoubleRules) GetLt() float64 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *DoubleRules) GetLte() float64 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *DoubleRules) GetGt() float64 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *DoubleRules) GetGte() float64 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *DoubleRules) GetIn() []float64 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *DoubleRules) GetNotIn() []float64 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *DoubleRules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // Int32Rules describes the constraints applied to `int32` values |
| type Int32Rules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *int32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *int32 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *int32 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *int32 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *int32 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []int32 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []int32 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *Int32Rules) Reset() { |
| *x = Int32Rules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Int32Rules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Int32Rules) ProtoMessage() {} |
| |
| func (x *Int32Rules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_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 Int32Rules.ProtoReflect.Descriptor instead. |
| func (*Int32Rules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *Int32Rules) GetConst() int32 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *Int32Rules) GetLt() int32 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *Int32Rules) GetLte() int32 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *Int32Rules) GetGt() int32 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *Int32Rules) GetGte() int32 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *Int32Rules) GetIn() []int32 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *Int32Rules) GetNotIn() []int32 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *Int32Rules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // Int64Rules describes the constraints applied to `int64` values |
| type Int64Rules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *int64 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *int64 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *int64 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *int64 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *int64 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []int64 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []int64 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *Int64Rules) Reset() { |
| *x = Int64Rules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Int64Rules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Int64Rules) ProtoMessage() {} |
| |
| func (x *Int64Rules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[4] |
| 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 Int64Rules.ProtoReflect.Descriptor instead. |
| func (*Int64Rules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *Int64Rules) GetConst() int64 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *Int64Rules) GetLt() int64 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *Int64Rules) GetLte() int64 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *Int64Rules) GetGt() int64 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *Int64Rules) GetGte() int64 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *Int64Rules) GetIn() []int64 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *Int64Rules) GetNotIn() []int64 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *Int64Rules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // UInt32Rules describes the constraints applied to `uint32` values |
| type UInt32Rules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *uint32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *uint32 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *uint32 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *uint32 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *uint32 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []uint32 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []uint32 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *UInt32Rules) Reset() { |
| *x = UInt32Rules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UInt32Rules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UInt32Rules) ProtoMessage() {} |
| |
| func (x *UInt32Rules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[5] |
| 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 UInt32Rules.ProtoReflect.Descriptor instead. |
| func (*UInt32Rules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *UInt32Rules) GetConst() uint32 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *UInt32Rules) GetLt() uint32 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *UInt32Rules) GetLte() uint32 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *UInt32Rules) GetGt() uint32 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *UInt32Rules) GetGte() uint32 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *UInt32Rules) GetIn() []uint32 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *UInt32Rules) GetNotIn() []uint32 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *UInt32Rules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // UInt64Rules describes the constraints applied to `uint64` values |
| type UInt64Rules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *uint64 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *uint64 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *uint64 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *uint64 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *uint64 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []uint64 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []uint64 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *UInt64Rules) Reset() { |
| *x = UInt64Rules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UInt64Rules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UInt64Rules) ProtoMessage() {} |
| |
| func (x *UInt64Rules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[6] |
| 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 UInt64Rules.ProtoReflect.Descriptor instead. |
| func (*UInt64Rules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *UInt64Rules) GetConst() uint64 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *UInt64Rules) GetLt() uint64 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *UInt64Rules) GetLte() uint64 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *UInt64Rules) GetGt() uint64 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *UInt64Rules) GetGte() uint64 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *UInt64Rules) GetIn() []uint64 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *UInt64Rules) GetNotIn() []uint64 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *UInt64Rules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // SInt32Rules describes the constraints applied to `sint32` values |
| type SInt32Rules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *int32 `protobuf:"zigzag32,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *int32 `protobuf:"zigzag32,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *int32 `protobuf:"zigzag32,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *int32 `protobuf:"zigzag32,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *int32 `protobuf:"zigzag32,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []int32 `protobuf:"zigzag32,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []int32 `protobuf:"zigzag32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *SInt32Rules) Reset() { |
| *x = SInt32Rules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SInt32Rules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SInt32Rules) ProtoMessage() {} |
| |
| func (x *SInt32Rules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[7] |
| 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 SInt32Rules.ProtoReflect.Descriptor instead. |
| func (*SInt32Rules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *SInt32Rules) GetConst() int32 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *SInt32Rules) GetLt() int32 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *SInt32Rules) GetLte() int32 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *SInt32Rules) GetGt() int32 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *SInt32Rules) GetGte() int32 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *SInt32Rules) GetIn() []int32 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *SInt32Rules) GetNotIn() []int32 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *SInt32Rules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // SInt64Rules describes the constraints applied to `sint64` values |
| type SInt64Rules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *int64 `protobuf:"zigzag64,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *int64 `protobuf:"zigzag64,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *int64 `protobuf:"zigzag64,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *int64 `protobuf:"zigzag64,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *int64 `protobuf:"zigzag64,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []int64 `protobuf:"zigzag64,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []int64 `protobuf:"zigzag64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *SInt64Rules) Reset() { |
| *x = SInt64Rules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SInt64Rules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SInt64Rules) ProtoMessage() {} |
| |
| func (x *SInt64Rules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[8] |
| 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 SInt64Rules.ProtoReflect.Descriptor instead. |
| func (*SInt64Rules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (x *SInt64Rules) GetConst() int64 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *SInt64Rules) GetLt() int64 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *SInt64Rules) GetLte() int64 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *SInt64Rules) GetGt() int64 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *SInt64Rules) GetGte() int64 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *SInt64Rules) GetIn() []int64 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *SInt64Rules) GetNotIn() []int64 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *SInt64Rules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // Fixed32Rules describes the constraints applied to `fixed32` values |
| type Fixed32Rules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *uint32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *uint32 `protobuf:"fixed32,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *uint32 `protobuf:"fixed32,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *uint32 `protobuf:"fixed32,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *uint32 `protobuf:"fixed32,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []uint32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []uint32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *Fixed32Rules) Reset() { |
| *x = Fixed32Rules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Fixed32Rules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Fixed32Rules) ProtoMessage() {} |
| |
| func (x *Fixed32Rules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[9] |
| 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 Fixed32Rules.ProtoReflect.Descriptor instead. |
| func (*Fixed32Rules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{9} |
| } |
| |
| func (x *Fixed32Rules) GetConst() uint32 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *Fixed32Rules) GetLt() uint32 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *Fixed32Rules) GetLte() uint32 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *Fixed32Rules) GetGt() uint32 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *Fixed32Rules) GetGte() uint32 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *Fixed32Rules) GetIn() []uint32 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *Fixed32Rules) GetNotIn() []uint32 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *Fixed32Rules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // Fixed64Rules describes the constraints applied to `fixed64` values |
| type Fixed64Rules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *uint64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *uint64 `protobuf:"fixed64,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *uint64 `protobuf:"fixed64,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *uint64 `protobuf:"fixed64,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *uint64 `protobuf:"fixed64,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []uint64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []uint64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *Fixed64Rules) Reset() { |
| *x = Fixed64Rules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Fixed64Rules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Fixed64Rules) ProtoMessage() {} |
| |
| func (x *Fixed64Rules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[10] |
| 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 Fixed64Rules.ProtoReflect.Descriptor instead. |
| func (*Fixed64Rules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *Fixed64Rules) GetConst() uint64 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *Fixed64Rules) GetLt() uint64 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *Fixed64Rules) GetLte() uint64 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *Fixed64Rules) GetGt() uint64 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *Fixed64Rules) GetGte() uint64 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *Fixed64Rules) GetIn() []uint64 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *Fixed64Rules) GetNotIn() []uint64 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *Fixed64Rules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // SFixed32Rules describes the constraints applied to `sfixed32` values |
| type SFixed32Rules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *int32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *int32 `protobuf:"fixed32,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *int32 `protobuf:"fixed32,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *int32 `protobuf:"fixed32,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *int32 `protobuf:"fixed32,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []int32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []int32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *SFixed32Rules) Reset() { |
| *x = SFixed32Rules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SFixed32Rules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SFixed32Rules) ProtoMessage() {} |
| |
| func (x *SFixed32Rules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[11] |
| 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 SFixed32Rules.ProtoReflect.Descriptor instead. |
| func (*SFixed32Rules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (x *SFixed32Rules) GetConst() int32 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *SFixed32Rules) GetLt() int32 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *SFixed32Rules) GetLte() int32 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *SFixed32Rules) GetGt() int32 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *SFixed32Rules) GetGte() int32 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *SFixed32Rules) GetIn() []int32 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *SFixed32Rules) GetNotIn() []int32 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *SFixed32Rules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // SFixed64Rules describes the constraints applied to `sfixed64` values |
| type SFixed64Rules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *int64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *int64 `protobuf:"fixed64,2,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than or equal to the |
| // specified value, inclusive |
| Lte *int64 `protobuf:"fixed64,3,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
| // range is reversed. |
| Gt *int64 `protobuf:"fixed64,4,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than or equal to the |
| // specified value, inclusive. If the value of Gte is larger than a |
| // specified Lt or Lte, the range is reversed. |
| Gte *int64 `protobuf:"fixed64,5,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []int64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []int64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *SFixed64Rules) Reset() { |
| *x = SFixed64Rules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SFixed64Rules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SFixed64Rules) ProtoMessage() {} |
| |
| func (x *SFixed64Rules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[12] |
| 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 SFixed64Rules.ProtoReflect.Descriptor instead. |
| func (*SFixed64Rules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (x *SFixed64Rules) GetConst() int64 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *SFixed64Rules) GetLt() int64 { |
| if x != nil && x.Lt != nil { |
| return *x.Lt |
| } |
| return 0 |
| } |
| |
| func (x *SFixed64Rules) GetLte() int64 { |
| if x != nil && x.Lte != nil { |
| return *x.Lte |
| } |
| return 0 |
| } |
| |
| func (x *SFixed64Rules) GetGt() int64 { |
| if x != nil && x.Gt != nil { |
| return *x.Gt |
| } |
| return 0 |
| } |
| |
| func (x *SFixed64Rules) GetGte() int64 { |
| if x != nil && x.Gte != nil { |
| return *x.Gte |
| } |
| return 0 |
| } |
| |
| func (x *SFixed64Rules) GetIn() []int64 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *SFixed64Rules) GetNotIn() []int64 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (x *SFixed64Rules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // BoolRules describes the constraints applied to `bool` values |
| type BoolRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *bool `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` |
| } |
| |
| func (x *BoolRules) Reset() { |
| *x = BoolRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BoolRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BoolRules) ProtoMessage() {} |
| |
| func (x *BoolRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[13] |
| 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 BoolRules.ProtoReflect.Descriptor instead. |
| func (*BoolRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{13} |
| } |
| |
| func (x *BoolRules) GetConst() bool { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return false |
| } |
| |
| // StringRules describe the constraints applied to `string` values |
| type StringRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *string `protobuf:"bytes,1,opt,name=const" json:"const,omitempty"` |
| // Len specifies that this field must be the specified number of |
| // characters (Unicode code points). Note that the number of |
| // characters may differ from the number of bytes in the string. |
| Len *uint64 `protobuf:"varint,19,opt,name=len" json:"len,omitempty"` |
| // MinLen specifies that this field must be the specified number of |
| // characters (Unicode code points) at a minimum. Note that the number of |
| // characters may differ from the number of bytes in the string. |
| MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen" json:"min_len,omitempty"` |
| // MaxLen specifies that this field must be the specified number of |
| // characters (Unicode code points) at a maximum. Note that the number of |
| // characters may differ from the number of bytes in the string. |
| MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen" json:"max_len,omitempty"` |
| // LenBytes specifies that this field must be the specified number of bytes |
| LenBytes *uint64 `protobuf:"varint,20,opt,name=len_bytes,json=lenBytes" json:"len_bytes,omitempty"` |
| // MinBytes specifies that this field must be the specified number of bytes |
| // at a minimum |
| MinBytes *uint64 `protobuf:"varint,4,opt,name=min_bytes,json=minBytes" json:"min_bytes,omitempty"` |
| // MaxBytes specifies that this field must be the specified number of bytes |
| // at a maximum |
| MaxBytes *uint64 `protobuf:"varint,5,opt,name=max_bytes,json=maxBytes" json:"max_bytes,omitempty"` |
| // Pattern specifies that this field must match against the specified |
| // regular expression (RE2 syntax). The included expression should elide |
| // any delimiters. |
| Pattern *string `protobuf:"bytes,6,opt,name=pattern" json:"pattern,omitempty"` |
| // Prefix specifies that this field must have the specified substring at |
| // the beginning of the string. |
| Prefix *string `protobuf:"bytes,7,opt,name=prefix" json:"prefix,omitempty"` |
| // Suffix specifies that this field must have the specified substring at |
| // the end of the string. |
| Suffix *string `protobuf:"bytes,8,opt,name=suffix" json:"suffix,omitempty"` |
| // Contains specifies that this field must have the specified substring |
| // anywhere in the string. |
| Contains *string `protobuf:"bytes,9,opt,name=contains" json:"contains,omitempty"` |
| // NotContains specifies that this field cannot have the specified substring |
| // anywhere in the string. |
| NotContains *string `protobuf:"bytes,23,opt,name=not_contains,json=notContains" json:"not_contains,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []string `protobuf:"bytes,10,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []string `protobuf:"bytes,11,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // WellKnown rules provide advanced constraints against common string |
| // patterns |
| // |
| // Types that are assignable to WellKnown: |
| // |
| // *StringRules_Email |
| // *StringRules_Hostname |
| // *StringRules_Ip |
| // *StringRules_Ipv4 |
| // *StringRules_Ipv6 |
| // *StringRules_Uri |
| // *StringRules_UriRef |
| // *StringRules_Address |
| // *StringRules_Uuid |
| // *StringRules_WellKnownRegex |
| WellKnown isStringRules_WellKnown `protobuf_oneof:"well_known"` |
| // This applies to regexes HTTP_HEADER_NAME and HTTP_HEADER_VALUE to enable |
| // strict header validation. |
| // By default, this is true, and HTTP header validations are RFC-compliant. |
| // Setting to false will enable a looser validations that only disallows |
| // \r\n\0 characters, which can be used to bypass header matching rules. |
| Strict *bool `protobuf:"varint,25,opt,name=strict,def=1" json:"strict,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,26,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| // Default values for StringRules fields. |
| const ( |
| Default_StringRules_Strict = bool(true) |
| ) |
| |
| func (x *StringRules) Reset() { |
| *x = StringRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[14] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StringRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StringRules) ProtoMessage() {} |
| |
| func (x *StringRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[14] |
| 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 StringRules.ProtoReflect.Descriptor instead. |
| func (*StringRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{14} |
| } |
| |
| func (x *StringRules) GetConst() string { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return "" |
| } |
| |
| func (x *StringRules) GetLen() uint64 { |
| if x != nil && x.Len != nil { |
| return *x.Len |
| } |
| return 0 |
| } |
| |
| func (x *StringRules) GetMinLen() uint64 { |
| if x != nil && x.MinLen != nil { |
| return *x.MinLen |
| } |
| return 0 |
| } |
| |
| func (x *StringRules) GetMaxLen() uint64 { |
| if x != nil && x.MaxLen != nil { |
| return *x.MaxLen |
| } |
| return 0 |
| } |
| |
| func (x *StringRules) GetLenBytes() uint64 { |
| if x != nil && x.LenBytes != nil { |
| return *x.LenBytes |
| } |
| return 0 |
| } |
| |
| func (x *StringRules) GetMinBytes() uint64 { |
| if x != nil && x.MinBytes != nil { |
| return *x.MinBytes |
| } |
| return 0 |
| } |
| |
| func (x *StringRules) GetMaxBytes() uint64 { |
| if x != nil && x.MaxBytes != nil { |
| return *x.MaxBytes |
| } |
| return 0 |
| } |
| |
| func (x *StringRules) GetPattern() string { |
| if x != nil && x.Pattern != nil { |
| return *x.Pattern |
| } |
| return "" |
| } |
| |
| func (x *StringRules) GetPrefix() string { |
| if x != nil && x.Prefix != nil { |
| return *x.Prefix |
| } |
| return "" |
| } |
| |
| func (x *StringRules) GetSuffix() string { |
| if x != nil && x.Suffix != nil { |
| return *x.Suffix |
| } |
| return "" |
| } |
| |
| func (x *StringRules) GetContains() string { |
| if x != nil && x.Contains != nil { |
| return *x.Contains |
| } |
| return "" |
| } |
| |
| func (x *StringRules) GetNotContains() string { |
| if x != nil && x.NotContains != nil { |
| return *x.NotContains |
| } |
| return "" |
| } |
| |
| func (x *StringRules) GetIn() []string { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *StringRules) GetNotIn() []string { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (m *StringRules) GetWellKnown() isStringRules_WellKnown { |
| if m != nil { |
| return m.WellKnown |
| } |
| return nil |
| } |
| |
| func (x *StringRules) GetEmail() bool { |
| if x, ok := x.GetWellKnown().(*StringRules_Email); ok { |
| return x.Email |
| } |
| return false |
| } |
| |
| func (x *StringRules) GetHostname() bool { |
| if x, ok := x.GetWellKnown().(*StringRules_Hostname); ok { |
| return x.Hostname |
| } |
| return false |
| } |
| |
| func (x *StringRules) GetIp() bool { |
| if x, ok := x.GetWellKnown().(*StringRules_Ip); ok { |
| return x.Ip |
| } |
| return false |
| } |
| |
| func (x *StringRules) GetIpv4() bool { |
| if x, ok := x.GetWellKnown().(*StringRules_Ipv4); ok { |
| return x.Ipv4 |
| } |
| return false |
| } |
| |
| func (x *StringRules) GetIpv6() bool { |
| if x, ok := x.GetWellKnown().(*StringRules_Ipv6); ok { |
| return x.Ipv6 |
| } |
| return false |
| } |
| |
| func (x *StringRules) GetUri() bool { |
| if x, ok := x.GetWellKnown().(*StringRules_Uri); ok { |
| return x.Uri |
| } |
| return false |
| } |
| |
| func (x *StringRules) GetUriRef() bool { |
| if x, ok := x.GetWellKnown().(*StringRules_UriRef); ok { |
| return x.UriRef |
| } |
| return false |
| } |
| |
| func (x *StringRules) GetAddress() bool { |
| if x, ok := x.GetWellKnown().(*StringRules_Address); ok { |
| return x.Address |
| } |
| return false |
| } |
| |
| func (x *StringRules) GetUuid() bool { |
| if x, ok := x.GetWellKnown().(*StringRules_Uuid); ok { |
| return x.Uuid |
| } |
| return false |
| } |
| |
| func (x *StringRules) GetWellKnownRegex() KnownRegex { |
| if x, ok := x.GetWellKnown().(*StringRules_WellKnownRegex); ok { |
| return x.WellKnownRegex |
| } |
| return KnownRegex_UNKNOWN |
| } |
| |
| func (x *StringRules) GetStrict() bool { |
| if x != nil && x.Strict != nil { |
| return *x.Strict |
| } |
| return Default_StringRules_Strict |
| } |
| |
| func (x *StringRules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| type isStringRules_WellKnown interface { |
| isStringRules_WellKnown() |
| } |
| |
| type StringRules_Email struct { |
| // Email specifies that the field must be a valid email address as |
| // defined by RFC 5322 |
| Email bool `protobuf:"varint,12,opt,name=email,oneof"` |
| } |
| |
| type StringRules_Hostname struct { |
| // Hostname specifies that the field must be a valid hostname as |
| // defined by RFC 1034. This constraint does not support |
| // internationalized domain names (IDNs). |
| Hostname bool `protobuf:"varint,13,opt,name=hostname,oneof"` |
| } |
| |
| type StringRules_Ip struct { |
| // Ip specifies that the field must be a valid IP (v4 or v6) address. |
| // Valid IPv6 addresses should not include surrounding square brackets. |
| Ip bool `protobuf:"varint,14,opt,name=ip,oneof"` |
| } |
| |
| type StringRules_Ipv4 struct { |
| // Ipv4 specifies that the field must be a valid IPv4 address. |
| Ipv4 bool `protobuf:"varint,15,opt,name=ipv4,oneof"` |
| } |
| |
| type StringRules_Ipv6 struct { |
| // Ipv6 specifies that the field must be a valid IPv6 address. Valid |
| // IPv6 addresses should not include surrounding square brackets. |
| Ipv6 bool `protobuf:"varint,16,opt,name=ipv6,oneof"` |
| } |
| |
| type StringRules_Uri struct { |
| // Uri specifies that the field must be a valid, absolute URI as defined |
| // by RFC 3986 |
| Uri bool `protobuf:"varint,17,opt,name=uri,oneof"` |
| } |
| |
| type StringRules_UriRef struct { |
| // UriRef specifies that the field must be a valid URI as defined by RFC |
| // 3986 and may be relative or absolute. |
| UriRef bool `protobuf:"varint,18,opt,name=uri_ref,json=uriRef,oneof"` |
| } |
| |
| type StringRules_Address struct { |
| // Address specifies that the field must be either a valid hostname as |
| // defined by RFC 1034 (which does not support internationalized domain |
| // names or IDNs), or it can be a valid IP (v4 or v6). |
| Address bool `protobuf:"varint,21,opt,name=address,oneof"` |
| } |
| |
| type StringRules_Uuid struct { |
| // Uuid specifies that the field must be a valid UUID as defined by |
| // RFC 4122 |
| Uuid bool `protobuf:"varint,22,opt,name=uuid,oneof"` |
| } |
| |
| type StringRules_WellKnownRegex struct { |
| // WellKnownRegex specifies a common well known pattern defined as a regex. |
| WellKnownRegex KnownRegex `protobuf:"varint,24,opt,name=well_known_regex,json=wellKnownRegex,enum=validate.KnownRegex,oneof"` |
| } |
| |
| func (*StringRules_Email) isStringRules_WellKnown() {} |
| |
| func (*StringRules_Hostname) isStringRules_WellKnown() {} |
| |
| func (*StringRules_Ip) isStringRules_WellKnown() {} |
| |
| func (*StringRules_Ipv4) isStringRules_WellKnown() {} |
| |
| func (*StringRules_Ipv6) isStringRules_WellKnown() {} |
| |
| func (*StringRules_Uri) isStringRules_WellKnown() {} |
| |
| func (*StringRules_UriRef) isStringRules_WellKnown() {} |
| |
| func (*StringRules_Address) isStringRules_WellKnown() {} |
| |
| func (*StringRules_Uuid) isStringRules_WellKnown() {} |
| |
| func (*StringRules_WellKnownRegex) isStringRules_WellKnown() {} |
| |
| // BytesRules describe the constraints applied to `bytes` values |
| type BytesRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const []byte `protobuf:"bytes,1,opt,name=const" json:"const,omitempty"` |
| // Len specifies that this field must be the specified number of bytes |
| Len *uint64 `protobuf:"varint,13,opt,name=len" json:"len,omitempty"` |
| // MinLen specifies that this field must be the specified number of bytes |
| // at a minimum |
| MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen" json:"min_len,omitempty"` |
| // MaxLen specifies that this field must be the specified number of bytes |
| // at a maximum |
| MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen" json:"max_len,omitempty"` |
| // Pattern specifies that this field must match against the specified |
| // regular expression (RE2 syntax). The included expression should elide |
| // any delimiters. |
| Pattern *string `protobuf:"bytes,4,opt,name=pattern" json:"pattern,omitempty"` |
| // Prefix specifies that this field must have the specified bytes at the |
| // beginning of the string. |
| Prefix []byte `protobuf:"bytes,5,opt,name=prefix" json:"prefix,omitempty"` |
| // Suffix specifies that this field must have the specified bytes at the |
| // end of the string. |
| Suffix []byte `protobuf:"bytes,6,opt,name=suffix" json:"suffix,omitempty"` |
| // Contains specifies that this field must have the specified bytes |
| // anywhere in the string. |
| Contains []byte `protobuf:"bytes,7,opt,name=contains" json:"contains,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In [][]byte `protobuf:"bytes,8,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn [][]byte `protobuf:"bytes,9,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| // WellKnown rules provide advanced constraints against common byte |
| // patterns |
| // |
| // Types that are assignable to WellKnown: |
| // |
| // *BytesRules_Ip |
| // *BytesRules_Ipv4 |
| // *BytesRules_Ipv6 |
| WellKnown isBytesRules_WellKnown `protobuf_oneof:"well_known"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,14,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *BytesRules) Reset() { |
| *x = BytesRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[15] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BytesRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BytesRules) ProtoMessage() {} |
| |
| func (x *BytesRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[15] |
| 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 BytesRules.ProtoReflect.Descriptor instead. |
| func (*BytesRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{15} |
| } |
| |
| func (x *BytesRules) GetConst() []byte { |
| if x != nil { |
| return x.Const |
| } |
| return nil |
| } |
| |
| func (x *BytesRules) GetLen() uint64 { |
| if x != nil && x.Len != nil { |
| return *x.Len |
| } |
| return 0 |
| } |
| |
| func (x *BytesRules) GetMinLen() uint64 { |
| if x != nil && x.MinLen != nil { |
| return *x.MinLen |
| } |
| return 0 |
| } |
| |
| func (x *BytesRules) GetMaxLen() uint64 { |
| if x != nil && x.MaxLen != nil { |
| return *x.MaxLen |
| } |
| return 0 |
| } |
| |
| func (x *BytesRules) GetPattern() string { |
| if x != nil && x.Pattern != nil { |
| return *x.Pattern |
| } |
| return "" |
| } |
| |
| func (x *BytesRules) GetPrefix() []byte { |
| if x != nil { |
| return x.Prefix |
| } |
| return nil |
| } |
| |
| func (x *BytesRules) GetSuffix() []byte { |
| if x != nil { |
| return x.Suffix |
| } |
| return nil |
| } |
| |
| func (x *BytesRules) GetContains() []byte { |
| if x != nil { |
| return x.Contains |
| } |
| return nil |
| } |
| |
| func (x *BytesRules) GetIn() [][]byte { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *BytesRules) GetNotIn() [][]byte { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| func (m *BytesRules) GetWellKnown() isBytesRules_WellKnown { |
| if m != nil { |
| return m.WellKnown |
| } |
| return nil |
| } |
| |
| func (x *BytesRules) GetIp() bool { |
| if x, ok := x.GetWellKnown().(*BytesRules_Ip); ok { |
| return x.Ip |
| } |
| return false |
| } |
| |
| func (x *BytesRules) GetIpv4() bool { |
| if x, ok := x.GetWellKnown().(*BytesRules_Ipv4); ok { |
| return x.Ipv4 |
| } |
| return false |
| } |
| |
| func (x *BytesRules) GetIpv6() bool { |
| if x, ok := x.GetWellKnown().(*BytesRules_Ipv6); ok { |
| return x.Ipv6 |
| } |
| return false |
| } |
| |
| func (x *BytesRules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| type isBytesRules_WellKnown interface { |
| isBytesRules_WellKnown() |
| } |
| |
| type BytesRules_Ip struct { |
| // Ip specifies that the field must be a valid IP (v4 or v6) address in |
| // byte format |
| Ip bool `protobuf:"varint,10,opt,name=ip,oneof"` |
| } |
| |
| type BytesRules_Ipv4 struct { |
| // Ipv4 specifies that the field must be a valid IPv4 address in byte |
| // format |
| Ipv4 bool `protobuf:"varint,11,opt,name=ipv4,oneof"` |
| } |
| |
| type BytesRules_Ipv6 struct { |
| // Ipv6 specifies that the field must be a valid IPv6 address in byte |
| // format |
| Ipv6 bool `protobuf:"varint,12,opt,name=ipv6,oneof"` |
| } |
| |
| func (*BytesRules_Ip) isBytesRules_WellKnown() {} |
| |
| func (*BytesRules_Ipv4) isBytesRules_WellKnown() {} |
| |
| func (*BytesRules_Ipv6) isBytesRules_WellKnown() {} |
| |
| // EnumRules describe the constraints applied to enum values |
| type EnumRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Const specifies that this field must be exactly the specified value |
| Const *int32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` |
| // DefinedOnly specifies that this field must be only one of the defined |
| // values for this enum, failing on any undefined value. |
| DefinedOnly *bool `protobuf:"varint,2,opt,name=defined_only,json=definedOnly" json:"defined_only,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []int32 `protobuf:"varint,3,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []int32 `protobuf:"varint,4,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| } |
| |
| func (x *EnumRules) Reset() { |
| *x = EnumRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *EnumRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*EnumRules) ProtoMessage() {} |
| |
| func (x *EnumRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[16] |
| 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 EnumRules.ProtoReflect.Descriptor instead. |
| func (*EnumRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{16} |
| } |
| |
| func (x *EnumRules) GetConst() int32 { |
| if x != nil && x.Const != nil { |
| return *x.Const |
| } |
| return 0 |
| } |
| |
| func (x *EnumRules) GetDefinedOnly() bool { |
| if x != nil && x.DefinedOnly != nil { |
| return *x.DefinedOnly |
| } |
| return false |
| } |
| |
| func (x *EnumRules) GetIn() []int32 { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *EnumRules) GetNotIn() []int32 { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| // MessageRules describe the constraints applied to embedded message values. |
| // For message-type fields, validation is performed recursively. |
| type MessageRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Skip specifies that the validation rules of this field should not be |
| // evaluated |
| Skip *bool `protobuf:"varint,1,opt,name=skip" json:"skip,omitempty"` |
| // Required specifies that this field must be set |
| Required *bool `protobuf:"varint,2,opt,name=required" json:"required,omitempty"` |
| } |
| |
| func (x *MessageRules) Reset() { |
| *x = MessageRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[17] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *MessageRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*MessageRules) ProtoMessage() {} |
| |
| func (x *MessageRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[17] |
| 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 MessageRules.ProtoReflect.Descriptor instead. |
| func (*MessageRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{17} |
| } |
| |
| func (x *MessageRules) GetSkip() bool { |
| if x != nil && x.Skip != nil { |
| return *x.Skip |
| } |
| return false |
| } |
| |
| func (x *MessageRules) GetRequired() bool { |
| if x != nil && x.Required != nil { |
| return *x.Required |
| } |
| return false |
| } |
| |
| // RepeatedRules describe the constraints applied to `repeated` values |
| type RepeatedRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // MinItems specifies that this field must have the specified number of |
| // items at a minimum |
| MinItems *uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems" json:"min_items,omitempty"` |
| // MaxItems specifies that this field must have the specified number of |
| // items at a maximum |
| MaxItems *uint64 `protobuf:"varint,2,opt,name=max_items,json=maxItems" json:"max_items,omitempty"` |
| // Unique specifies that all elements in this field must be unique. This |
| // constraint is only applicable to scalar and enum types (messages are not |
| // supported). |
| Unique *bool `protobuf:"varint,3,opt,name=unique" json:"unique,omitempty"` |
| // Items specifies the constraints to be applied to each item in the field. |
| // Repeated message fields will still execute validation against each item |
| // unless skip is specified here. |
| Items *FieldRules `protobuf:"bytes,4,opt,name=items" json:"items,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,5,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *RepeatedRules) Reset() { |
| *x = RepeatedRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[18] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RepeatedRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RepeatedRules) ProtoMessage() {} |
| |
| func (x *RepeatedRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[18] |
| 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 RepeatedRules.ProtoReflect.Descriptor instead. |
| func (*RepeatedRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{18} |
| } |
| |
| func (x *RepeatedRules) GetMinItems() uint64 { |
| if x != nil && x.MinItems != nil { |
| return *x.MinItems |
| } |
| return 0 |
| } |
| |
| func (x *RepeatedRules) GetMaxItems() uint64 { |
| if x != nil && x.MaxItems != nil { |
| return *x.MaxItems |
| } |
| return 0 |
| } |
| |
| func (x *RepeatedRules) GetUnique() bool { |
| if x != nil && x.Unique != nil { |
| return *x.Unique |
| } |
| return false |
| } |
| |
| func (x *RepeatedRules) GetItems() *FieldRules { |
| if x != nil { |
| return x.Items |
| } |
| return nil |
| } |
| |
| func (x *RepeatedRules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // MapRules describe the constraints applied to `map` values |
| type MapRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // MinPairs specifies that this field must have the specified number of |
| // KVs at a minimum |
| MinPairs *uint64 `protobuf:"varint,1,opt,name=min_pairs,json=minPairs" json:"min_pairs,omitempty"` |
| // MaxPairs specifies that this field must have the specified number of |
| // KVs at a maximum |
| MaxPairs *uint64 `protobuf:"varint,2,opt,name=max_pairs,json=maxPairs" json:"max_pairs,omitempty"` |
| // NoSparse specifies values in this field cannot be unset. This only |
| // applies to map's with message value types. |
| NoSparse *bool `protobuf:"varint,3,opt,name=no_sparse,json=noSparse" json:"no_sparse,omitempty"` |
| // Keys specifies the constraints to be applied to each key in the field. |
| Keys *FieldRules `protobuf:"bytes,4,opt,name=keys" json:"keys,omitempty"` |
| // Values specifies the constraints to be applied to the value of each key |
| // in the field. Message values will still have their validations evaluated |
| // unless skip is specified here. |
| Values *FieldRules `protobuf:"bytes,5,opt,name=values" json:"values,omitempty"` |
| // IgnoreEmpty specifies that the validation rules of this field should be |
| // evaluated only if the field is not empty |
| IgnoreEmpty *bool `protobuf:"varint,6,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` |
| } |
| |
| func (x *MapRules) Reset() { |
| *x = MapRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[19] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *MapRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*MapRules) ProtoMessage() {} |
| |
| func (x *MapRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[19] |
| 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 MapRules.ProtoReflect.Descriptor instead. |
| func (*MapRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{19} |
| } |
| |
| func (x *MapRules) GetMinPairs() uint64 { |
| if x != nil && x.MinPairs != nil { |
| return *x.MinPairs |
| } |
| return 0 |
| } |
| |
| func (x *MapRules) GetMaxPairs() uint64 { |
| if x != nil && x.MaxPairs != nil { |
| return *x.MaxPairs |
| } |
| return 0 |
| } |
| |
| func (x *MapRules) GetNoSparse() bool { |
| if x != nil && x.NoSparse != nil { |
| return *x.NoSparse |
| } |
| return false |
| } |
| |
| func (x *MapRules) GetKeys() *FieldRules { |
| if x != nil { |
| return x.Keys |
| } |
| return nil |
| } |
| |
| func (x *MapRules) GetValues() *FieldRules { |
| if x != nil { |
| return x.Values |
| } |
| return nil |
| } |
| |
| func (x *MapRules) GetIgnoreEmpty() bool { |
| if x != nil && x.IgnoreEmpty != nil { |
| return *x.IgnoreEmpty |
| } |
| return false |
| } |
| |
| // AnyRules describe constraints applied exclusively to the |
| // `google.protobuf.Any` well-known type |
| type AnyRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required specifies that this field must be set |
| Required *bool `protobuf:"varint,1,opt,name=required" json:"required,omitempty"` |
| // In specifies that this field's `type_url` must be equal to one of the |
| // specified values. |
| In []string `protobuf:"bytes,2,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field's `type_url` must not be equal to any of |
| // the specified values. |
| NotIn []string `protobuf:"bytes,3,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| } |
| |
| func (x *AnyRules) Reset() { |
| *x = AnyRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[20] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *AnyRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*AnyRules) ProtoMessage() {} |
| |
| func (x *AnyRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[20] |
| 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 AnyRules.ProtoReflect.Descriptor instead. |
| func (*AnyRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{20} |
| } |
| |
| func (x *AnyRules) GetRequired() bool { |
| if x != nil && x.Required != nil { |
| return *x.Required |
| } |
| return false |
| } |
| |
| func (x *AnyRules) GetIn() []string { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *AnyRules) GetNotIn() []string { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| // DurationRules describe the constraints applied exclusively to the |
| // `google.protobuf.Duration` well-known type |
| type DurationRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required specifies that this field must be set |
| Required *bool `protobuf:"varint,1,opt,name=required" json:"required,omitempty"` |
| // Const specifies that this field must be exactly the specified value |
| Const *durationpb.Duration `protobuf:"bytes,2,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *durationpb.Duration `protobuf:"bytes,3,opt,name=lt" json:"lt,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // inclusive |
| Lte *durationpb.Duration `protobuf:"bytes,4,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive |
| Gt *durationpb.Duration `protobuf:"bytes,5,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than the specified value, |
| // inclusive |
| Gte *durationpb.Duration `protobuf:"bytes,6,opt,name=gte" json:"gte,omitempty"` |
| // In specifies that this field must be equal to one of the specified |
| // values |
| In []*durationpb.Duration `protobuf:"bytes,7,rep,name=in" json:"in,omitempty"` |
| // NotIn specifies that this field cannot be equal to one of the specified |
| // values |
| NotIn []*durationpb.Duration `protobuf:"bytes,8,rep,name=not_in,json=notIn" json:"not_in,omitempty"` |
| } |
| |
| func (x *DurationRules) Reset() { |
| *x = DurationRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[21] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DurationRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DurationRules) ProtoMessage() {} |
| |
| func (x *DurationRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[21] |
| 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 DurationRules.ProtoReflect.Descriptor instead. |
| func (*DurationRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{21} |
| } |
| |
| func (x *DurationRules) GetRequired() bool { |
| if x != nil && x.Required != nil { |
| return *x.Required |
| } |
| return false |
| } |
| |
| func (x *DurationRules) GetConst() *durationpb.Duration { |
| if x != nil { |
| return x.Const |
| } |
| return nil |
| } |
| |
| func (x *DurationRules) GetLt() *durationpb.Duration { |
| if x != nil { |
| return x.Lt |
| } |
| return nil |
| } |
| |
| func (x *DurationRules) GetLte() *durationpb.Duration { |
| if x != nil { |
| return x.Lte |
| } |
| return nil |
| } |
| |
| func (x *DurationRules) GetGt() *durationpb.Duration { |
| if x != nil { |
| return x.Gt |
| } |
| return nil |
| } |
| |
| func (x *DurationRules) GetGte() *durationpb.Duration { |
| if x != nil { |
| return x.Gte |
| } |
| return nil |
| } |
| |
| func (x *DurationRules) GetIn() []*durationpb.Duration { |
| if x != nil { |
| return x.In |
| } |
| return nil |
| } |
| |
| func (x *DurationRules) GetNotIn() []*durationpb.Duration { |
| if x != nil { |
| return x.NotIn |
| } |
| return nil |
| } |
| |
| // TimestampRules describe the constraints applied exclusively to the |
| // `google.protobuf.Timestamp` well-known type |
| type TimestampRules struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required specifies that this field must be set |
| Required *bool `protobuf:"varint,1,opt,name=required" json:"required,omitempty"` |
| // Const specifies that this field must be exactly the specified value |
| Const *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=const" json:"const,omitempty"` |
| // Lt specifies that this field must be less than the specified value, |
| // exclusive |
| Lt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lt" json:"lt,omitempty"` |
| // Lte specifies that this field must be less than the specified value, |
| // inclusive |
| Lte *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=lte" json:"lte,omitempty"` |
| // Gt specifies that this field must be greater than the specified value, |
| // exclusive |
| Gt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=gt" json:"gt,omitempty"` |
| // Gte specifies that this field must be greater than the specified value, |
| // inclusive |
| Gte *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=gte" json:"gte,omitempty"` |
| // LtNow specifies that this must be less than the current time. LtNow |
| // can only be used with the Within rule. |
| LtNow *bool `protobuf:"varint,7,opt,name=lt_now,json=ltNow" json:"lt_now,omitempty"` |
| // GtNow specifies that this must be greater than the current time. GtNow |
| // can only be used with the Within rule. |
| GtNow *bool `protobuf:"varint,8,opt,name=gt_now,json=gtNow" json:"gt_now,omitempty"` |
| // Within specifies that this field must be within this duration of the |
| // current time. This constraint can be used alone or with the LtNow and |
| // GtNow rules. |
| Within *durationpb.Duration `protobuf:"bytes,9,opt,name=within" json:"within,omitempty"` |
| } |
| |
| func (x *TimestampRules) Reset() { |
| *x = TimestampRules{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_validate_validate_proto_msgTypes[22] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TimestampRules) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TimestampRules) ProtoMessage() {} |
| |
| func (x *TimestampRules) ProtoReflect() protoreflect.Message { |
| mi := &file_validate_validate_proto_msgTypes[22] |
| 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 TimestampRules.ProtoReflect.Descriptor instead. |
| func (*TimestampRules) Descriptor() ([]byte, []int) { |
| return file_validate_validate_proto_rawDescGZIP(), []int{22} |
| } |
| |
| func (x *TimestampRules) GetRequired() bool { |
| if x != nil && x.Required != nil { |
| return *x.Required |
| } |
| return false |
| } |
| |
| func (x *TimestampRules) GetConst() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Const |
| } |
| return nil |
| } |
| |
| func (x *TimestampRules) GetLt() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Lt |
| } |
| return nil |
| } |
| |
| func (x *TimestampRules) GetLte() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Lte |
| } |
| return nil |
| } |
| |
| func (x *TimestampRules) GetGt() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Gt |
| } |
| return nil |
| } |
| |
| func (x *TimestampRules) GetGte() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Gte |
| } |
| return nil |
| } |
| |
| func (x *TimestampRules) GetLtNow() bool { |
| if x != nil && x.LtNow != nil { |
| return *x.LtNow |
| } |
| return false |
| } |
| |
| func (x *TimestampRules) GetGtNow() bool { |
| if x != nil && x.GtNow != nil { |
| return *x.GtNow |
| } |
| return false |
| } |
| |
| func (x *TimestampRules) GetWithin() *durationpb.Duration { |
| if x != nil { |
| return x.Within |
| } |
| return nil |
| } |
| |
| var file_validate_validate_proto_extTypes = []protoimpl.ExtensionInfo{ |
| { |
| ExtendedType: (*descriptorpb.MessageOptions)(nil), |
| ExtensionType: (*bool)(nil), |
| Field: 1071, |
| Name: "validate.disabled", |
| Tag: "varint,1071,opt,name=disabled", |
| Filename: "validate/validate.proto", |
| }, |
| { |
| ExtendedType: (*descriptorpb.MessageOptions)(nil), |
| ExtensionType: (*bool)(nil), |
| Field: 1072, |
| Name: "validate.ignored", |
| Tag: "varint,1072,opt,name=ignored", |
| Filename: "validate/validate.proto", |
| }, |
| { |
| ExtendedType: (*descriptorpb.OneofOptions)(nil), |
| ExtensionType: (*bool)(nil), |
| Field: 1071, |
| Name: "validate.required", |
| Tag: "varint,1071,opt,name=required", |
| Filename: "validate/validate.proto", |
| }, |
| { |
| ExtendedType: (*descriptorpb.FieldOptions)(nil), |
| ExtensionType: (*FieldRules)(nil), |
| Field: 1071, |
| Name: "validate.rules", |
| Tag: "bytes,1071,opt,name=rules", |
| Filename: "validate/validate.proto", |
| }, |
| } |
| |
| // Extension fields to descriptorpb.MessageOptions. |
| var ( |
| // Disabled nullifies any validation rules for this message, including any |
| // message fields associated with it that do support validation. |
| // |
| // optional bool disabled = 1071; |
| E_Disabled = &file_validate_validate_proto_extTypes[0] |
| // Ignore skips generation of validation methods for this message. |
| // |
| // optional bool ignored = 1072; |
| E_Ignored = &file_validate_validate_proto_extTypes[1] |
| ) |
| |
| // Extension fields to descriptorpb.OneofOptions. |
| var ( |
| // Required ensures that exactly one the field options in a oneof is set; |
| // validation fails if no fields in the oneof are set. |
| // |
| // optional bool required = 1071; |
| E_Required = &file_validate_validate_proto_extTypes[2] |
| ) |
| |
| // Extension fields to descriptorpb.FieldOptions. |
| var ( |
| // Rules specify the validations to be performed on this field. By default, |
| // no validation is performed against a field. |
| // |
| // optional validate.FieldRules rules = 1071; |
| E_Rules = &file_validate_validate_proto_extTypes[3] |
| ) |
| |
| var File_validate_validate_proto protoreflect.FileDescriptor |
| |
| var file_validate_validate_proto_rawDesc = []byte{ |
| 0x0a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, |
| 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, |
| 0x61, 0x74, 0x65, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x08, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, |
| 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, |
| 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, |
| 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x07, |
| 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, |
| 0x65, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, |
| 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, |
| 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, |
| 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, |
| 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x69, |
| 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2c, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x04, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x49, |
| 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x74, |
| 0x36, 0x34, 0x12, 0x2f, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x55, 0x49, |
| 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x75, 0x69, 0x6e, |
| 0x74, 0x33, 0x32, 0x12, 0x2f, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x55, |
| 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x75, 0x69, |
| 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x07, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, |
| 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, |
| 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, |
| 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, |
| 0x2e, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, |
| 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x32, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, |
| 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, |
| 0x74, 0x65, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, |
| 0x00, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x32, 0x0a, 0x07, 0x66, 0x69, |
| 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, |
| 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, |
| 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x35, |
| 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x46, 0x69, 0x78, |
| 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x73, 0x66, 0x69, |
| 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, |
| 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, |
| 0x74, 0x65, 0x2e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, |
| 0x48, 0x00, 0x52, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x04, |
| 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x61, 0x6c, |
| 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, |
| 0x00, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, |
| 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, |
| 0x74, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, |
| 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, |
| 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, |
| 0x74, 0x65, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, |
| 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x10, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, |
| 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x04, 0x65, 0x6e, 0x75, |
| 0x6d, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x12, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, |
| 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, |
| 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, |
| 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, |
| 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x70, |
| 0x12, 0x26, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, |
| 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65, |
| 0x73, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c, |
| 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, |
| 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, |
| 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x16, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x69, |
| 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x09, |
| 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, |
| 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, |
| 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, |
| 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x02, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, |
| 0x01, 0x28, 0x02, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, |
| 0x20, 0x01, 0x28, 0x02, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, |
| 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, |
| 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, |
| 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, |
| 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, |
| 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, |
| 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, |
| 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x01, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, |
| 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, |
| 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, |
| 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, |
| 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x01, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, |
| 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x01, 0x52, 0x05, |
| 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, |
| 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, |
| 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb0, 0x01, 0x0a, 0x0a, 0x49, 0x6e, 0x74, |
| 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, |
| 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, |
| 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, |
| 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x67, 0x74, 0x12, |
| 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x67, 0x74, |
| 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x69, |
| 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, |
| 0x05, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, |
| 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, |
| 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb0, 0x01, 0x0a, 0x0a, |
| 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, |
| 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, |
| 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x6c, 0x74, |
| 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6c, |
| 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, |
| 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, |
| 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x03, |
| 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, |
| 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, |
| 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, |
| 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1, |
| 0x01, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, |
| 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, |
| 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, |
| 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, |
| 0x0d, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, |
| 0x28, 0x0d, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, |
| 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, |
| 0x20, 0x03, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, |
| 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, |
| 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, |
| 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, |
| 0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, |
| 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x04, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, |
| 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, |
| 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, |
| 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, |
| 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f, |
| 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, |
| 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, |
| 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x33, |
| 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, |
| 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, |
| 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, |
| 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, |
| 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x67, 0x74, 0x65, |
| 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x11, 0x52, 0x02, 0x69, 0x6e, |
| 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x11, |
| 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, |
| 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, |
| 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x53, |
| 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, |
| 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, |
| 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x02, 0x6c, 0x74, |
| 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x6c, |
| 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x02, |
| 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, |
| 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x12, |
| 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, |
| 0x20, 0x03, 0x28, 0x12, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, |
| 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, |
| 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb2, |
| 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, |
| 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, |
| 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x07, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, |
| 0x28, 0x07, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, |
| 0x01, 0x28, 0x07, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, |
| 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, |
| 0x06, 0x20, 0x03, 0x28, 0x07, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, |
| 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x07, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, |
| 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, |
| 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, |
| 0x70, 0x74, 0x79, 0x22, 0xb2, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, |
| 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x06, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, |
| 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, |
| 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, |
| 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, |
| 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x06, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, |
| 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x06, 0x52, 0x05, |
| 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, |
| 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, |
| 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb3, 0x01, 0x0a, 0x0d, 0x53, 0x46, 0x69, |
| 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, |
| 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, |
| 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x02, 0x6c, 0x74, |
| 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x03, 0x6c, |
| 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x02, |
| 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0f, 0x52, |
| 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0f, |
| 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, |
| 0x20, 0x03, 0x28, 0x0f, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, |
| 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, |
| 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb3, |
| 0x01, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, |
| 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x52, |
| 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x10, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, |
| 0x01, 0x28, 0x10, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, |
| 0x20, 0x01, 0x28, 0x10, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, |
| 0x05, 0x20, 0x01, 0x28, 0x10, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, |
| 0x18, 0x06, 0x20, 0x03, 0x28, 0x10, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, |
| 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x10, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, |
| 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, |
| 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, |
| 0x6d, 0x70, 0x74, 0x79, 0x22, 0x21, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, |
| 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, |
| 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0xd4, 0x05, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, |
| 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x10, 0x0a, |
| 0x03, 0x6c, 0x65, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x12, |
| 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, |
| 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, |
| 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65, |
| 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x14, |
| 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x65, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1b, |
| 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, |
| 0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, |
| 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, |
| 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, |
| 0x65, 0x72, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, |
| 0x72, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x07, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, |
| 0x66, 0x66, 0x69, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, |
| 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x09, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x21, |
| 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x17, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, |
| 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, |
| 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, |
| 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, |
| 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, |
| 0x12, 0x1c, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, |
| 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, |
| 0x0a, 0x02, 0x69, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x02, 0x69, 0x70, |
| 0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, |
| 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x10, |
| 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x12, 0x12, 0x0a, 0x03, |
| 0x75, 0x72, 0x69, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, |
| 0x12, 0x19, 0x0a, 0x07, 0x75, 0x72, 0x69, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, |
| 0x08, 0x48, 0x00, 0x52, 0x06, 0x75, 0x72, 0x69, 0x52, 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x07, 0x61, |
| 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, |
| 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, |
| 0x16, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a, |
| 0x10, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, |
| 0x78, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, |
| 0x74, 0x65, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x48, 0x00, 0x52, |
| 0x0e, 0x77, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, |
| 0x1c, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x3a, |
| 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x21, 0x0a, |
| 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x1a, 0x20, |
| 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, |
| 0x42, 0x0c, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x22, 0xe2, |
| 0x02, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, |
| 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x6f, |
| 0x6e, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, |
| 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x17, |
| 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, |
| 0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, |
| 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, |
| 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, |
| 0x0c, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x66, |
| 0x66, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, |
| 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, |
| 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x0e, 0x0a, |
| 0x02, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, |
| 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x05, 0x6e, |
| 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, |
| 0x48, 0x00, 0x52, 0x02, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x0b, |
| 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0x14, 0x0a, 0x04, |
| 0x69, 0x70, 0x76, 0x36, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, |
| 0x76, 0x36, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, |
| 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, |
| 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, |
| 0x6f, 0x77, 0x6e, 0x22, 0x6b, 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73, |
| 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, |
| 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, |
| 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, |
| 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, |
| 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, |
| 0x5f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, |
| 0x22, 0x3e, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, |
| 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, |
| 0x73, 0x6b, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, |
| 0x22, 0xb0, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, |
| 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, |
| 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, |
| 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, |
| 0x69, 0x71, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, |
| 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, |
| 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, |
| 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, |
| 0x70, 0x74, 0x79, 0x22, 0xdc, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, |
| 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1b, 0x0a, |
| 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, |
| 0x52, 0x08, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, |
| 0x5f, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, |
| 0x6f, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, |
| 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, |
| 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x04, 0x6b, 0x65, 0x79, |
| 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, |
| 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, |
| 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, |
| 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, |
| 0x74, 0x79, 0x22, 0x4d, 0x0a, 0x08, 0x41, 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1a, |
| 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, |
| 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, |
| 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, |
| 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, |
| 0x6e, 0x22, 0xe9, 0x02, 0x0a, 0x0d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, |
| 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, |
| 0x2f, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, |
| 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, |
| 0x12, 0x29, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, |
| 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x2b, 0x0a, 0x03, 0x6c, |
| 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x05, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, |
| 0x02, 0x67, 0x74, 0x12, 0x2b, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, |
| 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x67, 0x74, 0x65, |
| 0x12, 0x29, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, |
| 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x06, 0x6e, |
| 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, |
| 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x22, 0xf3, 0x02, |
| 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, |
| 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x05, |
| 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, |
| 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x2a, |
| 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, |
| 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x6c, 0x74, |
| 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, |
| 0x61, 0x6d, 0x70, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x05, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, |
| 0x52, 0x02, 0x67, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x67, |
| 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, |
| 0x28, 0x08, 0x52, 0x05, 0x6c, 0x74, 0x4e, 0x6f, 0x77, 0x12, 0x15, 0x0a, 0x06, 0x67, 0x74, 0x5f, |
| 0x6e, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x67, 0x74, 0x4e, 0x6f, 0x77, |
| 0x12, 0x31, 0x0a, 0x06, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, |
| 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x77, 0x69, 0x74, |
| 0x68, 0x69, 0x6e, 0x2a, 0x46, 0x0a, 0x0a, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, |
| 0x78, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, |
| 0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x4e, 0x41, |
| 0x4d, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41, |
| 0x44, 0x45, 0x52, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x3a, 0x3c, 0x0a, 0x08, 0x64, |
| 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, |
| 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xaf, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, |
| 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x3a, 0x0a, 0x07, 0x69, 0x67, 0x6e, |
| 0x6f, 0x72, 0x65, 0x64, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, |
| 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb0, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x67, |
| 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x3a, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, |
| 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, |
| 0x18, 0xaf, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, |
| 0x64, 0x3a, 0x4a, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, |
| 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xaf, 0x08, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, |
| 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x50, 0x0a, |
| 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, |
| 0x67, 0x76, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5a, 0x32, 0x67, 0x69, 0x74, |
| 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, |
| 0x78, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x76, 0x61, |
| 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, |
| } |
| |
| var ( |
| file_validate_validate_proto_rawDescOnce sync.Once |
| file_validate_validate_proto_rawDescData = file_validate_validate_proto_rawDesc |
| ) |
| |
| func file_validate_validate_proto_rawDescGZIP() []byte { |
| file_validate_validate_proto_rawDescOnce.Do(func() { |
| file_validate_validate_proto_rawDescData = protoimpl.X.CompressGZIP(file_validate_validate_proto_rawDescData) |
| }) |
| return file_validate_validate_proto_rawDescData |
| } |
| |
| var file_validate_validate_proto_enumTypes = make([]protoimpl.EnumInfo, 1) |
| var file_validate_validate_proto_msgTypes = make([]protoimpl.MessageInfo, 23) |
| var file_validate_validate_proto_goTypes = []interface{}{ |
| (KnownRegex)(0), // 0: validate.KnownRegex |
| (*FieldRules)(nil), // 1: validate.FieldRules |
| (*FloatRules)(nil), // 2: validate.FloatRules |
| (*DoubleRules)(nil), // 3: validate.DoubleRules |
| (*Int32Rules)(nil), // 4: validate.Int32Rules |
| (*Int64Rules)(nil), // 5: validate.Int64Rules |
| (*UInt32Rules)(nil), // 6: validate.UInt32Rules |
| (*UInt64Rules)(nil), // 7: validate.UInt64Rules |
| (*SInt32Rules)(nil), // 8: validate.SInt32Rules |
| (*SInt64Rules)(nil), // 9: validate.SInt64Rules |
| (*Fixed32Rules)(nil), // 10: validate.Fixed32Rules |
| (*Fixed64Rules)(nil), // 11: validate.Fixed64Rules |
| (*SFixed32Rules)(nil), // 12: validate.SFixed32Rules |
| (*SFixed64Rules)(nil), // 13: validate.SFixed64Rules |
| (*BoolRules)(nil), // 14: validate.BoolRules |
| (*StringRules)(nil), // 15: validate.StringRules |
| (*BytesRules)(nil), // 16: validate.BytesRules |
| (*EnumRules)(nil), // 17: validate.EnumRules |
| (*MessageRules)(nil), // 18: validate.MessageRules |
| (*RepeatedRules)(nil), // 19: validate.RepeatedRules |
| (*MapRules)(nil), // 20: validate.MapRules |
| (*AnyRules)(nil), // 21: validate.AnyRules |
| (*DurationRules)(nil), // 22: validate.DurationRules |
| (*TimestampRules)(nil), // 23: validate.TimestampRules |
| (*durationpb.Duration)(nil), // 24: google.protobuf.Duration |
| (*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp |
| (*descriptorpb.MessageOptions)(nil), // 26: google.protobuf.MessageOptions |
| (*descriptorpb.OneofOptions)(nil), // 27: google.protobuf.OneofOptions |
| (*descriptorpb.FieldOptions)(nil), // 28: google.protobuf.FieldOptions |
| } |
| var file_validate_validate_proto_depIdxs = []int32{ |
| 18, // 0: validate.FieldRules.message:type_name -> validate.MessageRules |
| 2, // 1: validate.FieldRules.float:type_name -> validate.FloatRules |
| 3, // 2: validate.FieldRules.double:type_name -> validate.DoubleRules |
| 4, // 3: validate.FieldRules.int32:type_name -> validate.Int32Rules |
| 5, // 4: validate.FieldRules.int64:type_name -> validate.Int64Rules |
| 6, // 5: validate.FieldRules.uint32:type_name -> validate.UInt32Rules |
| 7, // 6: validate.FieldRules.uint64:type_name -> validate.UInt64Rules |
| 8, // 7: validate.FieldRules.sint32:type_name -> validate.SInt32Rules |
| 9, // 8: validate.FieldRules.sint64:type_name -> validate.SInt64Rules |
| 10, // 9: validate.FieldRules.fixed32:type_name -> validate.Fixed32Rules |
| 11, // 10: validate.FieldRules.fixed64:type_name -> validate.Fixed64Rules |
| 12, // 11: validate.FieldRules.sfixed32:type_name -> validate.SFixed32Rules |
| 13, // 12: validate.FieldRules.sfixed64:type_name -> validate.SFixed64Rules |
| 14, // 13: validate.FieldRules.bool:type_name -> validate.BoolRules |
| 15, // 14: validate.FieldRules.string:type_name -> validate.StringRules |
| 16, // 15: validate.FieldRules.bytes:type_name -> validate.BytesRules |
| 17, // 16: validate.FieldRules.enum:type_name -> validate.EnumRules |
| 19, // 17: validate.FieldRules.repeated:type_name -> validate.RepeatedRules |
| 20, // 18: validate.FieldRules.map:type_name -> validate.MapRules |
| 21, // 19: validate.FieldRules.any:type_name -> validate.AnyRules |
| 22, // 20: validate.FieldRules.duration:type_name -> validate.DurationRules |
| 23, // 21: validate.FieldRules.timestamp:type_name -> validate.TimestampRules |
| 0, // 22: validate.StringRules.well_known_regex:type_name -> validate.KnownRegex |
| 1, // 23: validate.RepeatedRules.items:type_name -> validate.FieldRules |
| 1, // 24: validate.MapRules.keys:type_name -> validate.FieldRules |
| 1, // 25: validate.MapRules.values:type_name -> validate.FieldRules |
| 24, // 26: validate.DurationRules.const:type_name -> google.protobuf.Duration |
| 24, // 27: validate.DurationRules.lt:type_name -> google.protobuf.Duration |
| 24, // 28: validate.DurationRules.lte:type_name -> google.protobuf.Duration |
| 24, // 29: validate.DurationRules.gt:type_name -> google.protobuf.Duration |
| 24, // 30: validate.DurationRules.gte:type_name -> google.protobuf.Duration |
| 24, // 31: validate.DurationRules.in:type_name -> google.protobuf.Duration |
| 24, // 32: validate.DurationRules.not_in:type_name -> google.protobuf.Duration |
| 25, // 33: validate.TimestampRules.const:type_name -> google.protobuf.Timestamp |
| 25, // 34: validate.TimestampRules.lt:type_name -> google.protobuf.Timestamp |
| 25, // 35: validate.TimestampRules.lte:type_name -> google.protobuf.Timestamp |
| 25, // 36: validate.TimestampRules.gt:type_name -> google.protobuf.Timestamp |
| 25, // 37: validate.TimestampRules.gte:type_name -> google.protobuf.Timestamp |
| 24, // 38: validate.TimestampRules.within:type_name -> google.protobuf.Duration |
| 26, // 39: validate.disabled:extendee -> google.protobuf.MessageOptions |
| 26, // 40: validate.ignored:extendee -> google.protobuf.MessageOptions |
| 27, // 41: validate.required:extendee -> google.protobuf.OneofOptions |
| 28, // 42: validate.rules:extendee -> google.protobuf.FieldOptions |
| 1, // 43: validate.rules:type_name -> validate.FieldRules |
| 44, // [44:44] is the sub-list for method output_type |
| 44, // [44:44] is the sub-list for method input_type |
| 43, // [43:44] is the sub-list for extension type_name |
| 39, // [39:43] is the sub-list for extension extendee |
| 0, // [0:39] is the sub-list for field type_name |
| } |
| |
| func init() { file_validate_validate_proto_init() } |
| func file_validate_validate_proto_init() { |
| if File_validate_validate_proto != nil { |
| return |
| } |
| if !protoimpl.UnsafeEnabled { |
| file_validate_validate_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*FieldRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*FloatRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DoubleRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Int32Rules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Int64Rules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UInt32Rules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UInt64Rules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SInt32Rules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SInt64Rules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Fixed32Rules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Fixed64Rules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SFixed32Rules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SFixed64Rules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BoolRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StringRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BytesRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*EnumRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*MessageRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RepeatedRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*MapRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*AnyRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DurationRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_validate_validate_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TimestampRules); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_validate_validate_proto_msgTypes[0].OneofWrappers = []interface{}{ |
| (*FieldRules_Float)(nil), |
| (*FieldRules_Double)(nil), |
| (*FieldRules_Int32)(nil), |
| (*FieldRules_Int64)(nil), |
| (*FieldRules_Uint32)(nil), |
| (*FieldRules_Uint64)(nil), |
| (*FieldRules_Sint32)(nil), |
| (*FieldRules_Sint64)(nil), |
| (*FieldRules_Fixed32)(nil), |
| (*FieldRules_Fixed64)(nil), |
| (*FieldRules_Sfixed32)(nil), |
| (*FieldRules_Sfixed64)(nil), |
| (*FieldRules_Bool)(nil), |
| (*FieldRules_String_)(nil), |
| (*FieldRules_Bytes)(nil), |
| (*FieldRules_Enum)(nil), |
| (*FieldRules_Repeated)(nil), |
| (*FieldRules_Map)(nil), |
| (*FieldRules_Any)(nil), |
| (*FieldRules_Duration)(nil), |
| (*FieldRules_Timestamp)(nil), |
| } |
| file_validate_validate_proto_msgTypes[14].OneofWrappers = []interface{}{ |
| (*StringRules_Email)(nil), |
| (*StringRules_Hostname)(nil), |
| (*StringRules_Ip)(nil), |
| (*StringRules_Ipv4)(nil), |
| (*StringRules_Ipv6)(nil), |
| (*StringRules_Uri)(nil), |
| (*StringRules_UriRef)(nil), |
| (*StringRules_Address)(nil), |
| (*StringRules_Uuid)(nil), |
| (*StringRules_WellKnownRegex)(nil), |
| } |
| file_validate_validate_proto_msgTypes[15].OneofWrappers = []interface{}{ |
| (*BytesRules_Ip)(nil), |
| (*BytesRules_Ipv4)(nil), |
| (*BytesRules_Ipv6)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_validate_validate_proto_rawDesc, |
| NumEnums: 1, |
| NumMessages: 23, |
| NumExtensions: 4, |
| NumServices: 0, |
| }, |
| GoTypes: file_validate_validate_proto_goTypes, |
| DependencyIndexes: file_validate_validate_proto_depIdxs, |
| EnumInfos: file_validate_validate_proto_enumTypes, |
| MessageInfos: file_validate_validate_proto_msgTypes, |
| ExtensionInfos: file_validate_validate_proto_extTypes, |
| }.Build() |
| File_validate_validate_proto = out.File |
| file_validate_validate_proto_rawDesc = nil |
| file_validate_validate_proto_goTypes = nil |
| file_validate_validate_proto_depIdxs = nil |
| } |