From 978eaa5edb37cb3a4f860f6ed0dc5a631d08b590 Mon Sep 17 00:00:00 2001 From: Chris Roche Date: Fri, 20 Sep 2024 09:52:08 -0700 Subject: [PATCH 1/3] Revert "Revert protovalidate-testing changes (#254)" This reverts commit 4b5f8736f9a07b8586f8199a30a08112d635fdc6. --- .../buf/validate/conformance/cases/bool.proto | 3 + .../validate/conformance/cases/bytes.proto | 12 + .../validate/conformance/cases/enums.proto | 4 + .../validate/conformance/cases/numbers.proto | 54 + .../validate/conformance/cases/repeated.proto | 3 + .../validate/conformance/cases/strings.proto | 52 + .../conformance/cases/wkt_duration.proto | 4 + .../conformance/cases/wkt_timestamp.proto | 10 + .../validate/conformance/harness/BUILD.bazel | 2 +- .../conformance/harness/harness.proto | 2 +- .../buf/validate/conformance/cases/bool.pb.go | 107 +- .../validate/conformance/cases/bytes.pb.go | 339 +- .../validate/conformance/cases/enums.pb.go | 344 +- .../conformance/cases/kitchen_sink.pb.go | 2 +- .../validate/conformance/cases/numbers.pb.go | 3644 +++++--- .../cases/predefined_rules_proto2.pb.go | 2147 +++++ .../cases/predefined_rules_proto3.pb.go | 1803 ++++ .../predefined_rules_proto_editions.pb.go | 2271 +++++ .../validate/conformance/cases/repeated.pb.go | 477 +- .../validate/conformance/cases/strings.pb.go | 1743 +++- .../conformance/cases/wkt_duration.pb.go | 150 +- .../conformance/cases/wkt_timestamp.pb.go | 360 +- .../conformance/harness/harness.pb.go | 140 +- .../gen/buf/validate/expression.pb.go | 397 - .../gen/buf/validate/priv/private.pb.go | 288 - .../internal/gen/buf/validate/validate.pb.go | 7515 ++++++++++------- .../internal/cases/cases.go | 1 + .../internal/cases/cases_predefined.go | 1116 +++ .../internal/suites/benchmark.go | 2 +- .../internal/suites/suite.go | 2 +- 30 files changed, 16697 insertions(+), 6297 deletions(-) create mode 100644 tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto2.pb.go create mode 100644 tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto3.pb.go create mode 100644 tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto_editions.pb.go delete mode 100644 tools/internal/gen/buf/validate/expression.pb.go delete mode 100644 tools/internal/gen/buf/validate/priv/private.pb.go create mode 100644 tools/protovalidate-conformance/internal/cases/cases_predefined.go diff --git a/proto/protovalidate-testing/buf/validate/conformance/cases/bool.proto b/proto/protovalidate-testing/buf/validate/conformance/cases/bool.proto index d5c9cbb9..b4667c12 100644 --- a/proto/protovalidate-testing/buf/validate/conformance/cases/bool.proto +++ b/proto/protovalidate-testing/buf/validate/conformance/cases/bool.proto @@ -27,3 +27,6 @@ message BoolConstTrue { message BoolConstFalse { bool val = 1 [(buf.validate.field).bool.const = false]; } +message BoolExample { + bool val = 1 [(buf.validate.field).bool.example = true]; +} diff --git a/proto/protovalidate-testing/buf/validate/conformance/cases/bytes.proto b/proto/protovalidate-testing/buf/validate/conformance/cases/bytes.proto index f7ba3762..b8d0da72 100644 --- a/proto/protovalidate-testing/buf/validate/conformance/cases/bytes.proto +++ b/proto/protovalidate-testing/buf/validate/conformance/cases/bytes.proto @@ -76,15 +76,27 @@ message BytesSuffix { message BytesIP { bytes val = 1 [(buf.validate.field).bytes.ip = true]; } +message BytesNotIP { + bytes val = 1 [(buf.validate.field).bytes.ip = false]; +} message BytesIPv4 { bytes val = 1 [(buf.validate.field).bytes.ipv4 = true]; } +message BytesNotIPv4 { + bytes val = 1 [(buf.validate.field).bytes.ipv4 = false]; +} message BytesIPv6 { bytes val = 1 [(buf.validate.field).bytes.ipv6 = true]; } +message BytesNotIPv6 { + bytes val = 1 [(buf.validate.field).bytes.ipv6 = false]; +} message BytesIPv6Ignore { bytes val = 1 [ (buf.validate.field).bytes.ipv6 = true, (buf.validate.field).ignore_empty = true ]; } +message BytesExample { + bytes val = 1 [(buf.validate.field).bytes.example = "\x99"]; +} diff --git a/proto/protovalidate-testing/buf/validate/conformance/cases/enums.proto b/proto/protovalidate-testing/buf/validate/conformance/cases/enums.proto index ec2f7a63..5d906f37 100644 --- a/proto/protovalidate-testing/buf/validate/conformance/cases/enums.proto +++ b/proto/protovalidate-testing/buf/validate/conformance/cases/enums.proto @@ -121,3 +121,7 @@ message EnumInsideOneof { }]; } } + +message EnumExample { + TestEnum val = 1 [(buf.validate.field).enum.example = 2]; +} diff --git a/proto/protovalidate-testing/buf/validate/conformance/cases/numbers.proto b/proto/protovalidate-testing/buf/validate/conformance/cases/numbers.proto index 4d062bda..095714dc 100644 --- a/proto/protovalidate-testing/buf/validate/conformance/cases/numbers.proto +++ b/proto/protovalidate-testing/buf/validate/conformance/cases/numbers.proto @@ -76,6 +76,9 @@ message FloatExGTELTE { message FloatFinite { float val = 1 [(buf.validate.field).float.finite = true]; } +message FloatNotFinite { + float val = 1 [(buf.validate.field).float.finite = false]; +} message FloatIgnore { float val = 1 [ (buf.validate.field).float = { @@ -90,6 +93,10 @@ message FloatIncorrectType { float val = 1 [(buf.validate.field).double.gt = 0]; } +message FloatExample { + float val = 1 [(buf.validate.field).float.example = 8]; +} + message DoubleNone { double val = 1; } @@ -148,6 +155,9 @@ message DoubleExGTELTE { message DoubleFinite { double val = 1 [(buf.validate.field).double.finite = true]; } +message DoubleNotFinite { + double val = 1 [(buf.validate.field).double.finite = false]; +} message DoubleIgnore { double val = 1 [ (buf.validate.field).double = { @@ -162,6 +172,10 @@ message DoubleIncorrectType { double val = 1 [(buf.validate.field).float.gt = 0]; } +message DoubleExample { + double val = 1 [(buf.validate.field).double.example = 0]; +} + message Int32None { int32 val = 1; } @@ -231,6 +245,10 @@ message Int32IncorrectType { int32 val = 1 [(buf.validate.field).float.gt = 0]; } +message Int32Example { + int32 val = 1 [(buf.validate.field).int32.example = 10]; +} + message Int64None { int64 val = 1; } @@ -325,6 +343,10 @@ message Int64IncorrectType { int64 val = 1 [(buf.validate.field).float.gt = 0]; } +message Int64Example { + int64 val = 1 [(buf.validate.field).int64.example = 10]; +} + message UInt32None { uint32 val = 1; } @@ -394,6 +416,10 @@ message UInt32IncorrectType { uint32 val = 1 [(buf.validate.field).float.gt = 0]; } +message UInt32Example { + uint32 val = 1 [(buf.validate.field).uint32.example = 0]; +} + message UInt64None { uint64 val = 1; } @@ -463,6 +489,10 @@ message UInt64IncorrectType { uint64 val = 1 [(buf.validate.field).float.gt = 0]; } +message UInt64Example { + uint64 val = 1 [(buf.validate.field).uint64.example = 0]; +} + message SInt32None { sint32 val = 1; } @@ -532,6 +562,10 @@ message SInt32IncorrectType { sint32 val = 1 [(buf.validate.field).float.gt = 0]; } +message SInt32Example { + sint32 val = 1 [(buf.validate.field).sint32.example = 0]; +} + message SInt64None { sint64 val = 1; } @@ -600,6 +634,10 @@ message SInt64IncorrectType { sint64 val = 1 [(buf.validate.field).float.gt = 0]; } +message SInt64Example { + sint64 val = 1 [(buf.validate.field).sint64.example = 0]; +} + message Fixed32None { fixed32 val = 1; } @@ -669,6 +707,10 @@ message Fixed32IncorrectType { fixed32 val = 1 [(buf.validate.field).float.gt = 0]; } +message Fixed32Example { + fixed32 val = 1 [(buf.validate.field).fixed32.example = 0]; +} + message Fixed64None { fixed64 val = 1; } @@ -738,6 +780,10 @@ message Fixed64IncorrectType { fixed64 val = 1 [(buf.validate.field).float.gt = 0]; } +message Fixed64Example { + fixed64 val = 1 [(buf.validate.field).fixed64.example = 0]; +} + message SFixed32None { sfixed32 val = 1; } @@ -807,6 +853,10 @@ message SFixed32IncorrectType { sfixed32 val = 1 [(buf.validate.field).float.gt = 0]; } +message SFixed32Example { + sfixed32 val = 1 [(buf.validate.field).sfixed32.example = 0]; +} + message SFixed64None { sfixed64 val = 1; } @@ -876,6 +926,10 @@ message SFixed64IncorrectType { sfixed64 val = 1 [(buf.validate.field).float.gt = 0]; } +message SFixed64Example { + sfixed64 val = 1 [(buf.validate.field).sfixed64.example = 0]; +} + message Int64LTEOptional { optional int64 val = 1 [(buf.validate.field).int64.lte = 64]; } diff --git a/proto/protovalidate-testing/buf/validate/conformance/cases/repeated.proto b/proto/protovalidate-testing/buf/validate/conformance/cases/repeated.proto index a4f45298..a6704706 100644 --- a/proto/protovalidate-testing/buf/validate/conformance/cases/repeated.proto +++ b/proto/protovalidate-testing/buf/validate/conformance/cases/repeated.proto @@ -60,6 +60,9 @@ message RepeatedExact { message RepeatedUnique { repeated string val = 1 [(buf.validate.field).repeated.unique = true]; } +message RepeatedNotUnique { + repeated string val = 1 [(buf.validate.field).repeated.unique = false]; +} message RepeatedMultipleUnique { repeated string a = 1 [(buf.validate.field).repeated.unique = true]; repeated int32 b = 2 [(buf.validate.field).repeated.unique = true]; diff --git a/proto/protovalidate-testing/buf/validate/conformance/cases/strings.proto b/proto/protovalidate-testing/buf/validate/conformance/cases/strings.proto index b5299edd..aeeb231a 100644 --- a/proto/protovalidate-testing/buf/validate/conformance/cases/strings.proto +++ b/proto/protovalidate-testing/buf/validate/conformance/cases/strings.proto @@ -103,51 +103,99 @@ message StringSuffix { message StringEmail { string val = 1 [(buf.validate.field).string.email = true]; } +message StringNotEmail { + string val = 1 [(buf.validate.field).string.email = false]; +} message StringAddress { string val = 1 [(buf.validate.field).string.address = true]; } +message StringNotAddress { + string val = 1 [(buf.validate.field).string.address = false]; +} message StringHostname { string val = 1 [(buf.validate.field).string.hostname = true]; } +message StringNotHostname { + string val = 1 [(buf.validate.field).string.hostname = false]; +} message StringIP { string val = 1 [(buf.validate.field).string.ip = true]; } +message StringNotIP { + string val = 1 [(buf.validate.field).string.ip = false]; +} message StringIPv4 { string val = 1 [(buf.validate.field).string.ipv4 = true]; } +message StringNotIPv4 { + string val = 1 [(buf.validate.field).string.ipv4 = false]; +} message StringIPv6 { string val = 1 [(buf.validate.field).string.ipv6 = true]; } +message StringNotIPv6 { + string val = 1 [(buf.validate.field).string.ipv6 = false]; +} message StringIPWithPrefixLen { string val = 1 [(buf.validate.field).string.ip_with_prefixlen = true]; } +message StringNotIPWithPrefixLen { + string val = 1 [(buf.validate.field).string.ip_with_prefixlen = false]; +} message StringIPv4WithPrefixLen { string val = 1 [(buf.validate.field).string.ipv4_with_prefixlen = true]; } +message StringNotIPv4WithPrefixLen { + string val = 1 [(buf.validate.field).string.ipv4_with_prefixlen = false]; +} message StringIPv6WithPrefixLen { string val = 1 [(buf.validate.field).string.ipv6_with_prefixlen = true]; } +message StringNotIPv6WithPrefixLen { + string val = 1 [(buf.validate.field).string.ipv6_with_prefixlen = false]; +} message StringIPPrefix { string val = 1 [(buf.validate.field).string.ip_prefix = true]; } +message StringNotIPPrefix { + string val = 1 [(buf.validate.field).string.ip_prefix = false]; +} message StringIPv4Prefix { string val = 1 [(buf.validate.field).string.ipv4_prefix = true]; } +message StringNotIPv4Prefix { + string val = 1 [(buf.validate.field).string.ipv4_prefix = false]; +} message StringIPv6Prefix { string val = 1 [(buf.validate.field).string.ipv6_prefix = true]; } +message StringNotIPv6Prefix { + string val = 1 [(buf.validate.field).string.ipv6_prefix = false]; +} message StringURI { string val = 1 [(buf.validate.field).string.uri = true]; } +message StringNotURI { + string val = 1 [(buf.validate.field).string.uri = false]; +} message StringURIRef { string val = 1 [(buf.validate.field).string.uri_ref = true]; } +message StringNotURIRef { + string val = 1 [(buf.validate.field).string.uri_ref = false]; +} message StringUUID { string val = 1 [(buf.validate.field).string.uuid = true]; } +message StringNotUUID { + string val = 1 [(buf.validate.field).string.uuid = false]; +} message StringTUUID { string val = 1 [(buf.validate.field).string.tuuid = true]; } +message StringNotTUUID { + string val = 1 [(buf.validate.field).string.tuuid = false]; +} message StringHttpHeaderName { string val = 1 [(buf.validate.field).string.well_known_regex = KNOWN_REGEX_HTTP_HEADER_NAME]; } @@ -195,3 +243,7 @@ message StringHostAndOptionalPort { expression: "this.isHostAndPort(false)" }]; } + +message StringExample { + string val = 1 [(buf.validate.field).string.example = "foo"]; +} diff --git a/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_duration.proto b/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_duration.proto index 6950ff82..836283de 100644 --- a/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_duration.proto +++ b/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_duration.proto @@ -89,3 +89,7 @@ message DurationFieldWithOtherFields { google.protobuf.Duration duration_val = 1 [(buf.validate.field).duration.lte = {seconds: 1}]; int32 int_val = 2 [(buf.validate.field).int32.gt = 16]; } + +message DurationExample { + google.protobuf.Duration val = 1 [(buf.validate.field).duration.example = {seconds: 3}]; +} diff --git a/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_timestamp.proto b/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_timestamp.proto index d4a2e0ff..b391de4e 100644 --- a/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_timestamp.proto +++ b/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_timestamp.proto @@ -69,9 +69,15 @@ message TimestampExGTELTE { message TimestampLTNow { google.protobuf.Timestamp val = 1 [(buf.validate.field).timestamp.lt_now = true]; } +message TimestampNotLTNow { + google.protobuf.Timestamp val = 1 [(buf.validate.field).timestamp.lt_now = false]; +} message TimestampGTNow { google.protobuf.Timestamp val = 1 [(buf.validate.field).timestamp.gt_now = true]; } +message TimestampNotGTNow { + google.protobuf.Timestamp val = 1 [(buf.validate.field).timestamp.gt_now = false]; +} message TimestampWithin { google.protobuf.Timestamp val = 1 [(buf.validate.field).timestamp.within.seconds = 3600]; @@ -89,3 +95,7 @@ message TimestampGTNowWithin { within: {seconds: 3600} }]; } + +message TimestampExample { + google.protobuf.Timestamp val = 1 [(buf.validate.field).timestamp.example = {seconds: 3}]; +} diff --git a/proto/protovalidate-testing/buf/validate/conformance/harness/BUILD.bazel b/proto/protovalidate-testing/buf/validate/conformance/harness/BUILD.bazel index 7b54b528..8cfc78c4 100644 --- a/proto/protovalidate-testing/buf/validate/conformance/harness/BUILD.bazel +++ b/proto/protovalidate-testing/buf/validate/conformance/harness/BUILD.bazel @@ -24,7 +24,7 @@ proto_library( strip_import_prefix = "/proto/protovalidate-testing", visibility = ["//visibility:public"], deps = [ - "@buf_deps_proto_protovalidate-testing//buf/validate:validate_proto", + "//proto/protovalidate/buf/validate:validate_proto", "@com_google_protobuf//:any_proto", "@com_google_protobuf//:descriptor_proto", ], diff --git a/proto/protovalidate-testing/buf/validate/conformance/harness/harness.proto b/proto/protovalidate-testing/buf/validate/conformance/harness/harness.proto index f648cc7c..68ed3f9c 100644 --- a/proto/protovalidate-testing/buf/validate/conformance/harness/harness.proto +++ b/proto/protovalidate-testing/buf/validate/conformance/harness/harness.proto @@ -16,7 +16,7 @@ syntax = "proto3"; package buf.validate.conformance.harness; -import "buf/validate/expression.proto"; +import "buf/validate/validate.proto"; import "google/protobuf/any.proto"; import "google/protobuf/descriptor.proto"; diff --git a/tools/internal/gen/buf/validate/conformance/cases/bool.pb.go b/tools/internal/gen/buf/validate/conformance/cases/bool.pb.go index 3a0c551c..94352845 100644 --- a/tools/internal/gen/buf/validate/conformance/cases/bool.pb.go +++ b/tools/internal/gen/buf/validate/conformance/cases/bool.pb.go @@ -176,6 +176,53 @@ func (x *BoolConstFalse) GetVal() bool { return false } +type BoolExample struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val bool `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *BoolExample) Reset() { + *x = BoolExample{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_bool_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoolExample) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoolExample) ProtoMessage() {} + +func (x *BoolExample) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_bool_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 BoolExample.ProtoReflect.Descriptor instead. +func (*BoolExample) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_bool_proto_rawDescGZIP(), []int{3} +} + +func (x *BoolExample) GetVal() bool { + if x != nil { + return x.Val + } + return false +} + var File_buf_validate_conformance_cases_bool_proto protoreflect.FileDescriptor var file_buf_validate_conformance_cases_bool_proto_rawDesc = []byte{ @@ -192,26 +239,29 @@ var file_buf_validate_conformance_cases_bool_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xba, 0x48, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x42, 0x07, 0xba, 0x48, 0x04, 0x6a, 0x02, 0x08, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x42, - 0xa0, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, - 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, - 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, - 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, - 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, - 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, - 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, - 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, - 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, - 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x08, 0x42, 0x07, 0xba, 0x48, 0x04, 0x6a, 0x02, 0x08, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x28, 0x0a, 0x0b, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x19, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xba, 0x48, 0x04, + 0x6a, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x42, 0xa0, 0x02, 0x0a, 0x22, 0x63, 0x6f, + 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, + 0x42, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, + 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, + 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, + 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -226,11 +276,12 @@ func file_buf_validate_conformance_cases_bool_proto_rawDescGZIP() []byte { return file_buf_validate_conformance_cases_bool_proto_rawDescData } -var file_buf_validate_conformance_cases_bool_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_buf_validate_conformance_cases_bool_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_buf_validate_conformance_cases_bool_proto_goTypes = []any{ (*BoolNone)(nil), // 0: buf.validate.conformance.cases.BoolNone (*BoolConstTrue)(nil), // 1: buf.validate.conformance.cases.BoolConstTrue (*BoolConstFalse)(nil), // 2: buf.validate.conformance.cases.BoolConstFalse + (*BoolExample)(nil), // 3: buf.validate.conformance.cases.BoolExample } var file_buf_validate_conformance_cases_bool_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -282,6 +333,18 @@ func file_buf_validate_conformance_cases_bool_proto_init() { return nil } } + file_buf_validate_conformance_cases_bool_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*BoolExample); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -289,7 +352,7 @@ func file_buf_validate_conformance_cases_bool_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_buf_validate_conformance_cases_bool_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/tools/internal/gen/buf/validate/conformance/cases/bytes.pb.go b/tools/internal/gen/buf/validate/conformance/cases/bytes.pb.go index ad90fc76..f97e6054 100644 --- a/tools/internal/gen/buf/validate/conformance/cases/bytes.pb.go +++ b/tools/internal/gen/buf/validate/conformance/cases/bytes.pb.go @@ -693,6 +693,53 @@ func (x *BytesIP) GetVal() []byte { return nil } +type BytesNotIP struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []byte `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *BytesNotIP) Reset() { + *x = BytesNotIP{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BytesNotIP) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BytesNotIP) ProtoMessage() {} + +func (x *BytesNotIP) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_bytes_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 BytesNotIP.ProtoReflect.Descriptor instead. +func (*BytesNotIP) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_bytes_proto_rawDescGZIP(), []int{14} +} + +func (x *BytesNotIP) GetVal() []byte { + if x != nil { + return x.Val + } + return nil +} + type BytesIPv4 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -704,7 +751,7 @@ type BytesIPv4 struct { func (x *BytesIPv4) Reset() { *x = BytesIPv4{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[14] + mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -717,7 +764,7 @@ func (x *BytesIPv4) String() string { func (*BytesIPv4) ProtoMessage() {} func (x *BytesIPv4) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[14] + mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -730,7 +777,7 @@ func (x *BytesIPv4) ProtoReflect() protoreflect.Message { // Deprecated: Use BytesIPv4.ProtoReflect.Descriptor instead. func (*BytesIPv4) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_bytes_proto_rawDescGZIP(), []int{14} + return file_buf_validate_conformance_cases_bytes_proto_rawDescGZIP(), []int{15} } func (x *BytesIPv4) GetVal() []byte { @@ -740,6 +787,53 @@ func (x *BytesIPv4) GetVal() []byte { return nil } +type BytesNotIPv4 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []byte `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *BytesNotIPv4) Reset() { + *x = BytesNotIPv4{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BytesNotIPv4) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BytesNotIPv4) ProtoMessage() {} + +func (x *BytesNotIPv4) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_bytes_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 BytesNotIPv4.ProtoReflect.Descriptor instead. +func (*BytesNotIPv4) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_bytes_proto_rawDescGZIP(), []int{16} +} + +func (x *BytesNotIPv4) GetVal() []byte { + if x != nil { + return x.Val + } + return nil +} + type BytesIPv6 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -751,7 +845,7 @@ type BytesIPv6 struct { func (x *BytesIPv6) Reset() { *x = BytesIPv6{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[15] + mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -764,7 +858,7 @@ func (x *BytesIPv6) String() string { func (*BytesIPv6) ProtoMessage() {} func (x *BytesIPv6) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[15] + mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -777,7 +871,7 @@ func (x *BytesIPv6) ProtoReflect() protoreflect.Message { // Deprecated: Use BytesIPv6.ProtoReflect.Descriptor instead. func (*BytesIPv6) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_bytes_proto_rawDescGZIP(), []int{15} + return file_buf_validate_conformance_cases_bytes_proto_rawDescGZIP(), []int{17} } func (x *BytesIPv6) GetVal() []byte { @@ -787,6 +881,53 @@ func (x *BytesIPv6) GetVal() []byte { return nil } +type BytesNotIPv6 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []byte `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *BytesNotIPv6) Reset() { + *x = BytesNotIPv6{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BytesNotIPv6) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BytesNotIPv6) ProtoMessage() {} + +func (x *BytesNotIPv6) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_bytes_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 BytesNotIPv6.ProtoReflect.Descriptor instead. +func (*BytesNotIPv6) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_bytes_proto_rawDescGZIP(), []int{18} +} + +func (x *BytesNotIPv6) GetVal() []byte { + if x != nil { + return x.Val + } + return nil +} + type BytesIPv6Ignore struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -798,7 +939,7 @@ type BytesIPv6Ignore struct { func (x *BytesIPv6Ignore) Reset() { *x = BytesIPv6Ignore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[16] + mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -811,7 +952,7 @@ func (x *BytesIPv6Ignore) String() string { func (*BytesIPv6Ignore) ProtoMessage() {} func (x *BytesIPv6Ignore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[16] + mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -824,7 +965,7 @@ func (x *BytesIPv6Ignore) ProtoReflect() protoreflect.Message { // Deprecated: Use BytesIPv6Ignore.ProtoReflect.Descriptor instead. func (*BytesIPv6Ignore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_bytes_proto_rawDescGZIP(), []int{16} + return file_buf_validate_conformance_cases_bytes_proto_rawDescGZIP(), []int{19} } func (x *BytesIPv6Ignore) GetVal() []byte { @@ -834,6 +975,53 @@ func (x *BytesIPv6Ignore) GetVal() []byte { return nil } +type BytesExample struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []byte `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *BytesExample) Reset() { + *x = BytesExample{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_bytes_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BytesExample) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BytesExample) ProtoMessage() {} + +func (x *BytesExample) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_bytes_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 BytesExample.ProtoReflect.Descriptor instead. +func (*BytesExample) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_bytes_proto_rawDescGZIP(), []int{20} +} + +func (x *BytesExample) GetVal() []byte { + if x != nil { + return x.Val + } + return nil +} + var File_buf_validate_conformance_cases_bytes_proto protoreflect.FileDescriptor var file_buf_validate_conformance_cases_bytes_proto_rawDesc = []byte{ @@ -882,34 +1070,45 @@ var file_buf_validate_conformance_cases_bytes_proto_rawDesc = []byte{ 0x28, 0x0c, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x7a, 0x06, 0x32, 0x04, 0x62, 0x75, 0x7a, 0x7a, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x24, 0x0a, 0x07, 0x42, 0x79, 0x74, 0x65, 0x73, 0x49, 0x50, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, 0x48, - 0x04, 0x7a, 0x02, 0x50, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x49, 0x50, 0x76, 0x34, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x58, 0x01, 0x52, 0x03, 0x76, - 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x42, 0x79, 0x74, 0x65, 0x73, 0x49, 0x50, 0x76, 0x36, 0x12, - 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, 0x48, - 0x04, 0x7a, 0x02, 0x60, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0f, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x49, 0x50, 0x76, 0x36, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x0a, 0xba, 0x48, 0x07, 0xd0, - 0x01, 0x01, 0x7a, 0x02, 0x60, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x42, 0xa1, 0x02, 0x0a, 0x22, - 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, - 0x65, 0x73, 0x42, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, - 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, - 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, - 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, - 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, - 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x04, 0x7a, 0x02, 0x50, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x0a, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x49, 0x50, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x50, 0x00, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x42, 0x79, 0x74, 0x65, 0x73, 0x49, 0x50, 0x76, 0x34, + 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, + 0x48, 0x04, 0x7a, 0x02, 0x58, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0c, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x49, 0x50, 0x76, 0x34, 0x12, 0x19, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x58, + 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x42, 0x79, 0x74, 0x65, 0x73, 0x49, + 0x50, 0x76, 0x36, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x42, 0x07, 0xba, 0x48, 0x04, 0x7a, 0x02, 0x60, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, + 0x0a, 0x0c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x49, 0x50, 0x76, 0x36, 0x12, 0x19, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xba, 0x48, 0x04, + 0x7a, 0x02, 0x60, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0f, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x49, 0x50, 0x76, 0x36, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x0a, 0xba, 0x48, 0x07, 0xd0, 0x01, + 0x01, 0x7a, 0x02, 0x60, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0c, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x08, 0xba, 0x48, 0x05, 0x7a, 0x03, 0x72, 0x01, + 0x99, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x42, 0xa1, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, + 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x0a, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, + 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, + 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, + 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, + 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -924,7 +1123,7 @@ func file_buf_validate_conformance_cases_bytes_proto_rawDescGZIP() []byte { return file_buf_validate_conformance_cases_bytes_proto_rawDescData } -var file_buf_validate_conformance_cases_bytes_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_buf_validate_conformance_cases_bytes_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_buf_validate_conformance_cases_bytes_proto_goTypes = []any{ (*BytesNone)(nil), // 0: buf.validate.conformance.cases.BytesNone (*BytesConst)(nil), // 1: buf.validate.conformance.cases.BytesConst @@ -940,9 +1139,13 @@ var file_buf_validate_conformance_cases_bytes_proto_goTypes = []any{ (*BytesContains)(nil), // 11: buf.validate.conformance.cases.BytesContains (*BytesSuffix)(nil), // 12: buf.validate.conformance.cases.BytesSuffix (*BytesIP)(nil), // 13: buf.validate.conformance.cases.BytesIP - (*BytesIPv4)(nil), // 14: buf.validate.conformance.cases.BytesIPv4 - (*BytesIPv6)(nil), // 15: buf.validate.conformance.cases.BytesIPv6 - (*BytesIPv6Ignore)(nil), // 16: buf.validate.conformance.cases.BytesIPv6Ignore + (*BytesNotIP)(nil), // 14: buf.validate.conformance.cases.BytesNotIP + (*BytesIPv4)(nil), // 15: buf.validate.conformance.cases.BytesIPv4 + (*BytesNotIPv4)(nil), // 16: buf.validate.conformance.cases.BytesNotIPv4 + (*BytesIPv6)(nil), // 17: buf.validate.conformance.cases.BytesIPv6 + (*BytesNotIPv6)(nil), // 18: buf.validate.conformance.cases.BytesNotIPv6 + (*BytesIPv6Ignore)(nil), // 19: buf.validate.conformance.cases.BytesIPv6Ignore + (*BytesExample)(nil), // 20: buf.validate.conformance.cases.BytesExample } var file_buf_validate_conformance_cases_bytes_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -1127,7 +1330,7 @@ func file_buf_validate_conformance_cases_bytes_proto_init() { } } file_buf_validate_conformance_cases_bytes_proto_msgTypes[14].Exporter = func(v any, i int) any { - switch v := v.(*BytesIPv4); i { + switch v := v.(*BytesNotIP); i { case 0: return &v.state case 1: @@ -1139,7 +1342,7 @@ func file_buf_validate_conformance_cases_bytes_proto_init() { } } file_buf_validate_conformance_cases_bytes_proto_msgTypes[15].Exporter = func(v any, i int) any { - switch v := v.(*BytesIPv6); i { + switch v := v.(*BytesIPv4); i { case 0: return &v.state case 1: @@ -1151,6 +1354,42 @@ func file_buf_validate_conformance_cases_bytes_proto_init() { } } file_buf_validate_conformance_cases_bytes_proto_msgTypes[16].Exporter = func(v any, i int) any { + switch v := v.(*BytesNotIPv4); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_bytes_proto_msgTypes[17].Exporter = func(v any, i int) any { + switch v := v.(*BytesIPv6); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_bytes_proto_msgTypes[18].Exporter = func(v any, i int) any { + switch v := v.(*BytesNotIPv6); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_bytes_proto_msgTypes[19].Exporter = func(v any, i int) any { switch v := v.(*BytesIPv6Ignore); i { case 0: return &v.state @@ -1162,6 +1401,18 @@ func file_buf_validate_conformance_cases_bytes_proto_init() { return nil } } + file_buf_validate_conformance_cases_bytes_proto_msgTypes[20].Exporter = func(v any, i int) any { + switch v := v.(*BytesExample); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1169,7 +1420,7 @@ func file_buf_validate_conformance_cases_bytes_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_buf_validate_conformance_cases_bytes_proto_rawDesc, NumEnums: 0, - NumMessages: 17, + NumMessages: 21, NumExtensions: 0, NumServices: 0, }, diff --git a/tools/internal/gen/buf/validate/conformance/cases/enums.pb.go b/tools/internal/gen/buf/validate/conformance/cases/enums.pb.go index 75c985b6..87ced7ec 100644 --- a/tools/internal/gen/buf/validate/conformance/cases/enums.pb.go +++ b/tools/internal/gen/buf/validate/conformance/cases/enums.pb.go @@ -994,6 +994,53 @@ type EnumInsideOneof_Val2 struct { func (*EnumInsideOneof_Val2) isEnumInsideOneof_Bar() {} +type EnumExample struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val TestEnum `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnum" json:"val,omitempty"` +} + +func (x *EnumExample) Reset() { + *x = EnumExample{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnumExample) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumExample) ProtoMessage() {} + +func (x *EnumExample) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_enums_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 EnumExample.ProtoReflect.Descriptor instead. +func (*EnumExample) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_enums_proto_rawDescGZIP(), []int{17} +} + +func (x *EnumExample) GetVal() TestEnum { + if x != nil { + return x.Val + } + return TestEnum_TEST_ENUM_UNSPECIFIED +} + var File_buf_validate_conformance_cases_enums_proto protoreflect.FileDescriptor var file_buf_validate_conformance_cases_enums_proto_rawDesc = []byte{ @@ -1042,138 +1089,143 @@ var file_buf_validate_conformance_cases_enums_proto_rawDesc = []byte{ 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x75, - 0x6d, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x82, 0x01, 0x04, 0x1a, 0x02, 0x00, 0x02, 0x52, 0x03, 0x76, + 0x6d, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x82, 0x01, 0x04, 0x18, 0x00, 0x18, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x5a, 0x0a, 0x0b, 0x45, 0x6e, 0x75, 0x6d, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x49, 0x6e, 0x12, 0x4b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0a, 0xba, - 0x48, 0x07, 0x82, 0x01, 0x04, 0x1a, 0x02, 0x00, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x52, - 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x45, 0x0a, 0x03, 0x76, + 0x48, 0x07, 0x82, 0x01, 0x04, 0x18, 0x00, 0x18, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x51, + 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x44, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, - 0x75, 0x6d, 0x42, 0x09, 0xba, 0x48, 0x06, 0x82, 0x01, 0x03, 0x22, 0x01, 0x01, 0x52, 0x03, 0x76, - 0x61, 0x6c, 0x22, 0x5c, 0x0a, 0x0e, 0x45, 0x6e, 0x75, 0x6d, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4e, - 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x4a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, - 0x65, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x41, 0x6c, 0x69, 0x61, 0x73, - 0x42, 0x09, 0xba, 0x48, 0x06, 0x82, 0x01, 0x03, 0x22, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x6a, 0x0a, 0x0c, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x12, 0x5a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x6d, 0x62, - 0x65, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x08, 0xba, - 0x48, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x7d, 0x0a, 0x0d, - 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x32, 0x12, 0x6c, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x2e, - 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x2e, 0x44, 0x6f, 0x75, 0x62, - 0x6c, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x08, 0xba, 0x48, - 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x60, 0x0a, 0x13, 0x52, - 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x64, 0x12, 0x49, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, - 0x28, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x92, 0x01, - 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x7e, 0x0a, - 0x1b, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x2e, 0x45, - 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x92, 0x01, - 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x8e, 0x01, - 0x0a, 0x25, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x59, 0x65, 0x74, 0x41, 0x6e, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x75, 0x6d, - 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x65, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, - 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x79, 0x65, 0x74, 0x5f, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x2e, - 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x92, - 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0xcc, - 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x12, 0x58, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, - 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, - 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2e, 0x56, - 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x9a, 0x01, 0x07, 0x2a, - 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x60, 0x0a, 0x08, 0x56, - 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, + 0x75, 0x6d, 0x42, 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, 0x01, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x5b, 0x0a, 0x0e, 0x45, 0x6e, 0x75, 0x6d, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4e, 0x6f, + 0x74, 0x49, 0x6e, 0x12, 0x49, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x2d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, + 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x42, + 0x08, 0xba, 0x48, 0x05, 0x82, 0x01, 0x02, 0x20, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x6a, + 0x0a, 0x0c, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x5a, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x62, 0x75, + 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, + 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x7d, 0x0a, 0x0d, 0x45, 0x6e, + 0x75, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x32, 0x12, 0x6c, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, - 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf2, 0x01, - 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x75, - 0x6d, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, - 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2e, 0x56, 0x61, - 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x9a, 0x01, 0x07, 0x2a, 0x05, - 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x76, 0x0a, 0x08, 0x56, 0x61, - 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x54, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, + 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x2e, 0x44, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, + 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x08, 0xba, 0x48, 0x05, 0x82, + 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x60, 0x0a, 0x13, 0x52, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x12, 0x49, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x28, 0x2e, + 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x92, 0x01, 0x07, 0x22, + 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x7e, 0x0a, 0x1b, 0x52, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, + 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x2e, 0x45, 0x6e, 0x75, - 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0xb4, 0x01, 0x0a, 0x0f, 0x45, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x73, 0x69, 0x64, - 0x65, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x46, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, - 0x61, 0x73, 0x65, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x08, 0xba, - 0x48, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x4b, - 0x0a, 0x04, 0x76, 0x61, 0x6c, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x62, + 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x92, 0x01, 0x07, 0x22, + 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x8e, 0x01, 0x0a, 0x25, + 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x59, 0x65, 0x74, 0x41, 0x6e, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x65, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, + 0x73, 0x65, 0x73, 0x2e, 0x79, 0x65, 0x74, 0x5f, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x2e, 0x45, 0x6e, + 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x92, 0x01, 0x07, + 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0xcc, 0x01, 0x0a, + 0x0e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x12, + 0x58, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x54, 0x65, - 0x73, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x82, 0x01, 0x05, 0x10, 0x01, - 0x22, 0x01, 0x00, 0x48, 0x01, 0x52, 0x04, 0x76, 0x61, 0x6c, 0x32, 0x42, 0x05, 0x0a, 0x03, 0x66, - 0x6f, 0x6f, 0x42, 0x05, 0x0a, 0x03, 0x62, 0x61, 0x72, 0x2a, 0x4b, 0x0a, 0x08, 0x54, 0x65, 0x73, - 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, - 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4f, 0x4e, - 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, - 0x5f, 0x54, 0x57, 0x4f, 0x10, 0x02, 0x2a, 0xc9, 0x01, 0x0a, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x45, - 0x6e, 0x75, 0x6d, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x45, 0x53, 0x54, - 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x45, 0x53, - 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x5f, 0x41, 0x10, 0x01, - 0x12, 0x15, 0x0a, 0x11, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, - 0x49, 0x41, 0x53, 0x5f, 0x42, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x45, 0x53, 0x54, 0x5f, - 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x5f, 0x43, 0x10, 0x03, 0x12, 0x19, - 0x0a, 0x15, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, 0x49, 0x41, - 0x53, 0x5f, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x45, 0x53, - 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x5f, 0x42, 0x45, 0x54, - 0x41, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, - 0x5f, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x5f, 0x47, 0x41, 0x4d, 0x4d, 0x41, 0x10, 0x03, 0x1a, 0x02, - 0x10, 0x01, 0x42, 0xa1, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x0a, 0x45, 0x6e, 0x75, 0x6d, 0x73, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, - 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, - 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, - 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, - 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, - 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, - 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, - 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4d, 0x61, + 0x70, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2e, 0x56, 0x61, 0x6c, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x9a, 0x01, 0x07, 0x2a, 0x05, 0x82, + 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x60, 0x0a, 0x08, 0x56, 0x61, 0x6c, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, + 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x75, 0x6d, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf2, 0x01, 0x0a, 0x16, + 0x4d, 0x61, 0x70, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x44, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, + 0x61, 0x73, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2e, 0x56, 0x61, 0x6c, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x9a, 0x01, 0x07, 0x2a, 0x05, 0x82, 0x01, + 0x02, 0x10, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x76, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x54, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, + 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xb3, 0x01, 0x0a, 0x0f, 0x45, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x4f, + 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x46, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x28, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, + 0x65, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x82, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x4a, 0x0a, 0x04, + 0x76, 0x61, 0x6c, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x62, 0x75, 0x66, + 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x82, 0x01, 0x04, 0x10, 0x01, 0x20, 0x00, + 0x48, 0x01, 0x52, 0x04, 0x76, 0x61, 0x6c, 0x32, 0x42, 0x05, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x42, + 0x05, 0x0a, 0x03, 0x62, 0x61, 0x72, 0x22, 0x53, 0x0a, 0x0b, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x44, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, + 0x73, 0x65, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x08, 0xba, 0x48, + 0x05, 0x82, 0x01, 0x02, 0x28, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x2a, 0x4b, 0x0a, 0x08, 0x54, + 0x65, 0x73, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x45, 0x53, 0x54, 0x5f, + 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, + 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, + 0x55, 0x4d, 0x5f, 0x54, 0x57, 0x4f, 0x10, 0x02, 0x2a, 0xc9, 0x01, 0x0a, 0x0d, 0x54, 0x65, 0x73, + 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x45, + 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x54, + 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x5f, 0x41, + 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, + 0x41, 0x4c, 0x49, 0x41, 0x53, 0x5f, 0x42, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x45, 0x53, + 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x5f, 0x43, 0x10, 0x03, + 0x12, 0x19, 0x0a, 0x15, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, + 0x49, 0x41, 0x53, 0x5f, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x54, + 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x5f, 0x42, + 0x45, 0x54, 0x41, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, + 0x55, 0x4d, 0x5f, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x5f, 0x47, 0x41, 0x4d, 0x4d, 0x41, 0x10, 0x03, + 0x1a, 0x02, 0x10, 0x01, 0x42, 0xa1, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, + 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x0a, 0x45, 0x6e, 0x75, + 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, + 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, + 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, + 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, + 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, + 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, + 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, + 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1189,7 +1241,7 @@ func file_buf_validate_conformance_cases_enums_proto_rawDescGZIP() []byte { } var file_buf_validate_conformance_cases_enums_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_buf_validate_conformance_cases_enums_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_buf_validate_conformance_cases_enums_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_buf_validate_conformance_cases_enums_proto_goTypes = []any{ (TestEnum)(0), // 0: buf.validate.conformance.cases.TestEnum (TestEnumAlias)(0), // 1: buf.validate.conformance.cases.TestEnumAlias @@ -1210,11 +1262,12 @@ var file_buf_validate_conformance_cases_enums_proto_goTypes = []any{ (*MapEnumDefined)(nil), // 16: buf.validate.conformance.cases.MapEnumDefined (*MapExternalEnumDefined)(nil), // 17: buf.validate.conformance.cases.MapExternalEnumDefined (*EnumInsideOneof)(nil), // 18: buf.validate.conformance.cases.EnumInsideOneof - nil, // 19: buf.validate.conformance.cases.MapEnumDefined.ValEntry - nil, // 20: buf.validate.conformance.cases.MapExternalEnumDefined.ValEntry - (other_package.Embed_Enumerated)(0), // 21: buf.validate.conformance.cases.other_package.Embed.Enumerated - (other_package.Embed_DoubleEmbed_DoubleEnumerated)(0), // 22: buf.validate.conformance.cases.other_package.Embed.DoubleEmbed.DoubleEnumerated - (yet_another_package.Embed_Enumerated)(0), // 23: buf.validate.conformance.cases.yet_another_package.Embed.Enumerated + (*EnumExample)(nil), // 19: buf.validate.conformance.cases.EnumExample + nil, // 20: buf.validate.conformance.cases.MapEnumDefined.ValEntry + nil, // 21: buf.validate.conformance.cases.MapExternalEnumDefined.ValEntry + (other_package.Embed_Enumerated)(0), // 22: buf.validate.conformance.cases.other_package.Embed.Enumerated + (other_package.Embed_DoubleEmbed_DoubleEnumerated)(0), // 23: buf.validate.conformance.cases.other_package.Embed.DoubleEmbed.DoubleEnumerated + (yet_another_package.Embed_Enumerated)(0), // 24: buf.validate.conformance.cases.yet_another_package.Embed.Enumerated } var file_buf_validate_conformance_cases_enums_proto_depIdxs = []int32{ 0, // 0: buf.validate.conformance.cases.EnumNone.val:type_name -> buf.validate.conformance.cases.TestEnum @@ -1226,22 +1279,23 @@ var file_buf_validate_conformance_cases_enums_proto_depIdxs = []int32{ 1, // 6: buf.validate.conformance.cases.EnumAliasIn.val:type_name -> buf.validate.conformance.cases.TestEnumAlias 0, // 7: buf.validate.conformance.cases.EnumNotIn.val:type_name -> buf.validate.conformance.cases.TestEnum 1, // 8: buf.validate.conformance.cases.EnumAliasNotIn.val:type_name -> buf.validate.conformance.cases.TestEnumAlias - 21, // 9: buf.validate.conformance.cases.EnumExternal.val:type_name -> buf.validate.conformance.cases.other_package.Embed.Enumerated - 22, // 10: buf.validate.conformance.cases.EnumExternal2.val:type_name -> buf.validate.conformance.cases.other_package.Embed.DoubleEmbed.DoubleEnumerated + 22, // 9: buf.validate.conformance.cases.EnumExternal.val:type_name -> buf.validate.conformance.cases.other_package.Embed.Enumerated + 23, // 10: buf.validate.conformance.cases.EnumExternal2.val:type_name -> buf.validate.conformance.cases.other_package.Embed.DoubleEmbed.DoubleEnumerated 0, // 11: buf.validate.conformance.cases.RepeatedEnumDefined.val:type_name -> buf.validate.conformance.cases.TestEnum - 21, // 12: buf.validate.conformance.cases.RepeatedExternalEnumDefined.val:type_name -> buf.validate.conformance.cases.other_package.Embed.Enumerated - 23, // 13: buf.validate.conformance.cases.RepeatedYetAnotherExternalEnumDefined.val:type_name -> buf.validate.conformance.cases.yet_another_package.Embed.Enumerated - 19, // 14: buf.validate.conformance.cases.MapEnumDefined.val:type_name -> buf.validate.conformance.cases.MapEnumDefined.ValEntry - 20, // 15: buf.validate.conformance.cases.MapExternalEnumDefined.val:type_name -> buf.validate.conformance.cases.MapExternalEnumDefined.ValEntry + 22, // 12: buf.validate.conformance.cases.RepeatedExternalEnumDefined.val:type_name -> buf.validate.conformance.cases.other_package.Embed.Enumerated + 24, // 13: buf.validate.conformance.cases.RepeatedYetAnotherExternalEnumDefined.val:type_name -> buf.validate.conformance.cases.yet_another_package.Embed.Enumerated + 20, // 14: buf.validate.conformance.cases.MapEnumDefined.val:type_name -> buf.validate.conformance.cases.MapEnumDefined.ValEntry + 21, // 15: buf.validate.conformance.cases.MapExternalEnumDefined.val:type_name -> buf.validate.conformance.cases.MapExternalEnumDefined.ValEntry 0, // 16: buf.validate.conformance.cases.EnumInsideOneof.val:type_name -> buf.validate.conformance.cases.TestEnum 0, // 17: buf.validate.conformance.cases.EnumInsideOneof.val2:type_name -> buf.validate.conformance.cases.TestEnum - 0, // 18: buf.validate.conformance.cases.MapEnumDefined.ValEntry.value:type_name -> buf.validate.conformance.cases.TestEnum - 21, // 19: buf.validate.conformance.cases.MapExternalEnumDefined.ValEntry.value:type_name -> buf.validate.conformance.cases.other_package.Embed.Enumerated - 20, // [20:20] is the sub-list for method output_type - 20, // [20:20] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 0, // 18: buf.validate.conformance.cases.EnumExample.val:type_name -> buf.validate.conformance.cases.TestEnum + 0, // 19: buf.validate.conformance.cases.MapEnumDefined.ValEntry.value:type_name -> buf.validate.conformance.cases.TestEnum + 22, // 20: buf.validate.conformance.cases.MapExternalEnumDefined.ValEntry.value:type_name -> buf.validate.conformance.cases.other_package.Embed.Enumerated + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_buf_validate_conformance_cases_enums_proto_init() } @@ -1454,6 +1508,18 @@ func file_buf_validate_conformance_cases_enums_proto_init() { return nil } } + file_buf_validate_conformance_cases_enums_proto_msgTypes[17].Exporter = func(v any, i int) any { + switch v := v.(*EnumExample); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_buf_validate_conformance_cases_enums_proto_msgTypes[16].OneofWrappers = []any{ (*EnumInsideOneof_Val)(nil), @@ -1465,7 +1531,7 @@ func file_buf_validate_conformance_cases_enums_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_buf_validate_conformance_cases_enums_proto_rawDesc, NumEnums: 2, - NumMessages: 19, + NumMessages: 20, NumExtensions: 0, NumServices: 0, }, diff --git a/tools/internal/gen/buf/validate/conformance/cases/kitchen_sink.pb.go b/tools/internal/gen/buf/validate/conformance/cases/kitchen_sink.pb.go index 8beb252c..20f54fe4 100644 --- a/tools/internal/gen/buf/validate/conformance/cases/kitchen_sink.pb.go +++ b/tools/internal/gen/buf/validate/conformance/cases/kitchen_sink.pb.go @@ -388,7 +388,7 @@ var file_buf_validate_conformance_cases_kitchen_sink_proto_rawDesc = []byte{ 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x15, 0x00, 0x00, 0x00, 0x41, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xba, 0x48, 0x14, 0x12, - 0x12, 0x32, 0x10, 0xb4, 0xc8, 0x76, 0xbe, 0x9f, 0x8c, 0x7c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x12, 0x31, 0xb4, 0xc8, 0x76, 0xbe, 0x9f, 0x8c, 0x7c, 0x40, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x5e, 0x40, 0x52, 0x08, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x12, 0x58, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, diff --git a/tools/internal/gen/buf/validate/conformance/cases/numbers.pb.go b/tools/internal/gen/buf/validate/conformance/cases/numbers.pb.go index 72c175cc..a5791d87 100644 --- a/tools/internal/gen/buf/validate/conformance/cases/numbers.pb.go +++ b/tools/internal/gen/buf/validate/conformance/cases/numbers.pb.go @@ -646,6 +646,53 @@ func (x *FloatFinite) GetVal() float32 { return 0 } +type FloatNotFinite struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val float32 `protobuf:"fixed32,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *FloatNotFinite) Reset() { + *x = FloatNotFinite{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FloatNotFinite) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FloatNotFinite) ProtoMessage() {} + +func (x *FloatNotFinite) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_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 FloatNotFinite.ProtoReflect.Descriptor instead. +func (*FloatNotFinite) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{13} +} + +func (x *FloatNotFinite) GetVal() float32 { + if x != nil { + return x.Val + } + return 0 +} + type FloatIgnore struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -657,7 +704,7 @@ type FloatIgnore struct { func (x *FloatIgnore) Reset() { *x = FloatIgnore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[13] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -670,7 +717,7 @@ func (x *FloatIgnore) String() string { func (*FloatIgnore) ProtoMessage() {} func (x *FloatIgnore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[13] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -683,7 +730,7 @@ func (x *FloatIgnore) ProtoReflect() protoreflect.Message { // Deprecated: Use FloatIgnore.ProtoReflect.Descriptor instead. func (*FloatIgnore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{13} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{14} } func (x *FloatIgnore) GetVal() float32 { @@ -704,7 +751,7 @@ type FloatIncorrectType struct { func (x *FloatIncorrectType) Reset() { *x = FloatIncorrectType{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[14] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -717,7 +764,7 @@ func (x *FloatIncorrectType) String() string { func (*FloatIncorrectType) ProtoMessage() {} func (x *FloatIncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[14] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -730,7 +777,7 @@ func (x *FloatIncorrectType) ProtoReflect() protoreflect.Message { // Deprecated: Use FloatIncorrectType.ProtoReflect.Descriptor instead. func (*FloatIncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{14} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{15} } func (x *FloatIncorrectType) GetVal() float32 { @@ -740,6 +787,53 @@ func (x *FloatIncorrectType) GetVal() float32 { return 0 } +type FloatExample struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val float32 `protobuf:"fixed32,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *FloatExample) Reset() { + *x = FloatExample{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FloatExample) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FloatExample) ProtoMessage() {} + +func (x *FloatExample) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_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 FloatExample.ProtoReflect.Descriptor instead. +func (*FloatExample) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{16} +} + +func (x *FloatExample) GetVal() float32 { + if x != nil { + return x.Val + } + return 0 +} + type DoubleNone struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -751,7 +845,7 @@ type DoubleNone struct { func (x *DoubleNone) Reset() { *x = DoubleNone{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[15] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -764,7 +858,7 @@ func (x *DoubleNone) String() string { func (*DoubleNone) ProtoMessage() {} func (x *DoubleNone) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[15] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -777,7 +871,7 @@ func (x *DoubleNone) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleNone.ProtoReflect.Descriptor instead. func (*DoubleNone) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{15} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{17} } func (x *DoubleNone) GetVal() float64 { @@ -798,7 +892,7 @@ type DoubleConst struct { func (x *DoubleConst) Reset() { *x = DoubleConst{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[16] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -811,7 +905,7 @@ func (x *DoubleConst) String() string { func (*DoubleConst) ProtoMessage() {} func (x *DoubleConst) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[16] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -824,7 +918,7 @@ func (x *DoubleConst) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleConst.ProtoReflect.Descriptor instead. func (*DoubleConst) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{16} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{18} } func (x *DoubleConst) GetVal() float64 { @@ -845,7 +939,7 @@ type DoubleIn struct { func (x *DoubleIn) Reset() { *x = DoubleIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[17] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -858,7 +952,7 @@ func (x *DoubleIn) String() string { func (*DoubleIn) ProtoMessage() {} func (x *DoubleIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[17] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -871,7 +965,7 @@ func (x *DoubleIn) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleIn.ProtoReflect.Descriptor instead. func (*DoubleIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{17} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{19} } func (x *DoubleIn) GetVal() float64 { @@ -892,7 +986,7 @@ type DoubleNotIn struct { func (x *DoubleNotIn) Reset() { *x = DoubleNotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[18] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -905,7 +999,7 @@ func (x *DoubleNotIn) String() string { func (*DoubleNotIn) ProtoMessage() {} func (x *DoubleNotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[18] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -918,7 +1012,7 @@ func (x *DoubleNotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleNotIn.ProtoReflect.Descriptor instead. func (*DoubleNotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{18} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{20} } func (x *DoubleNotIn) GetVal() float64 { @@ -939,7 +1033,7 @@ type DoubleLT struct { func (x *DoubleLT) Reset() { *x = DoubleLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[19] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -952,7 +1046,7 @@ func (x *DoubleLT) String() string { func (*DoubleLT) ProtoMessage() {} func (x *DoubleLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[19] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -965,7 +1059,7 @@ func (x *DoubleLT) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleLT.ProtoReflect.Descriptor instead. func (*DoubleLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{19} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{21} } func (x *DoubleLT) GetVal() float64 { @@ -986,7 +1080,7 @@ type DoubleLTE struct { func (x *DoubleLTE) Reset() { *x = DoubleLTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[20] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -999,7 +1093,7 @@ func (x *DoubleLTE) String() string { func (*DoubleLTE) ProtoMessage() {} func (x *DoubleLTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[20] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1012,7 +1106,7 @@ func (x *DoubleLTE) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleLTE.ProtoReflect.Descriptor instead. func (*DoubleLTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{20} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{22} } func (x *DoubleLTE) GetVal() float64 { @@ -1033,7 +1127,7 @@ type DoubleGT struct { func (x *DoubleGT) Reset() { *x = DoubleGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[21] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1046,7 +1140,7 @@ func (x *DoubleGT) String() string { func (*DoubleGT) ProtoMessage() {} func (x *DoubleGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[21] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1059,7 +1153,7 @@ func (x *DoubleGT) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleGT.ProtoReflect.Descriptor instead. func (*DoubleGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{21} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{23} } func (x *DoubleGT) GetVal() float64 { @@ -1080,7 +1174,7 @@ type DoubleGTE struct { func (x *DoubleGTE) Reset() { *x = DoubleGTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[22] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1093,7 +1187,7 @@ func (x *DoubleGTE) String() string { func (*DoubleGTE) ProtoMessage() {} func (x *DoubleGTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[22] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1106,7 +1200,7 @@ func (x *DoubleGTE) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleGTE.ProtoReflect.Descriptor instead. func (*DoubleGTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{22} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{24} } func (x *DoubleGTE) GetVal() float64 { @@ -1127,7 +1221,7 @@ type DoubleGTLT struct { func (x *DoubleGTLT) Reset() { *x = DoubleGTLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[23] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1140,7 +1234,7 @@ func (x *DoubleGTLT) String() string { func (*DoubleGTLT) ProtoMessage() {} func (x *DoubleGTLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[23] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1153,7 +1247,7 @@ func (x *DoubleGTLT) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleGTLT.ProtoReflect.Descriptor instead. func (*DoubleGTLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{23} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{25} } func (x *DoubleGTLT) GetVal() float64 { @@ -1174,7 +1268,7 @@ type DoubleExLTGT struct { func (x *DoubleExLTGT) Reset() { *x = DoubleExLTGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[24] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1187,7 +1281,7 @@ func (x *DoubleExLTGT) String() string { func (*DoubleExLTGT) ProtoMessage() {} func (x *DoubleExLTGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[24] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1200,7 +1294,7 @@ func (x *DoubleExLTGT) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleExLTGT.ProtoReflect.Descriptor instead. func (*DoubleExLTGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{24} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{26} } func (x *DoubleExLTGT) GetVal() float64 { @@ -1221,7 +1315,7 @@ type DoubleGTELTE struct { func (x *DoubleGTELTE) Reset() { *x = DoubleGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[25] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1234,7 +1328,7 @@ func (x *DoubleGTELTE) String() string { func (*DoubleGTELTE) ProtoMessage() {} func (x *DoubleGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[25] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1247,7 +1341,7 @@ func (x *DoubleGTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleGTELTE.ProtoReflect.Descriptor instead. func (*DoubleGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{25} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{27} } func (x *DoubleGTELTE) GetVal() float64 { @@ -1268,7 +1362,7 @@ type DoubleExGTELTE struct { func (x *DoubleExGTELTE) Reset() { *x = DoubleExGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[26] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1281,7 +1375,7 @@ func (x *DoubleExGTELTE) String() string { func (*DoubleExGTELTE) ProtoMessage() {} func (x *DoubleExGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[26] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1294,7 +1388,7 @@ func (x *DoubleExGTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleExGTELTE.ProtoReflect.Descriptor instead. func (*DoubleExGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{26} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{28} } func (x *DoubleExGTELTE) GetVal() float64 { @@ -1315,7 +1409,7 @@ type DoubleFinite struct { func (x *DoubleFinite) Reset() { *x = DoubleFinite{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[27] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1328,7 +1422,7 @@ func (x *DoubleFinite) String() string { func (*DoubleFinite) ProtoMessage() {} func (x *DoubleFinite) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[27] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1341,7 +1435,7 @@ func (x *DoubleFinite) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleFinite.ProtoReflect.Descriptor instead. func (*DoubleFinite) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{27} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{29} } func (x *DoubleFinite) GetVal() float64 { @@ -1351,6 +1445,53 @@ func (x *DoubleFinite) GetVal() float64 { return 0 } +type DoubleNotFinite struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val float64 `protobuf:"fixed64,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *DoubleNotFinite) Reset() { + *x = DoubleNotFinite{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DoubleNotFinite) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoubleNotFinite) ProtoMessage() {} + +func (x *DoubleNotFinite) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[30] + 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 DoubleNotFinite.ProtoReflect.Descriptor instead. +func (*DoubleNotFinite) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{30} +} + +func (x *DoubleNotFinite) GetVal() float64 { + if x != nil { + return x.Val + } + return 0 +} + type DoubleIgnore struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1362,7 +1503,7 @@ type DoubleIgnore struct { func (x *DoubleIgnore) Reset() { *x = DoubleIgnore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[28] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1375,7 +1516,7 @@ func (x *DoubleIgnore) String() string { func (*DoubleIgnore) ProtoMessage() {} func (x *DoubleIgnore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[28] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1388,7 +1529,7 @@ func (x *DoubleIgnore) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleIgnore.ProtoReflect.Descriptor instead. func (*DoubleIgnore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{28} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{31} } func (x *DoubleIgnore) GetVal() float64 { @@ -1409,7 +1550,7 @@ type DoubleIncorrectType struct { func (x *DoubleIncorrectType) Reset() { *x = DoubleIncorrectType{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[29] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1422,7 +1563,7 @@ func (x *DoubleIncorrectType) String() string { func (*DoubleIncorrectType) ProtoMessage() {} func (x *DoubleIncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[29] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1435,7 +1576,7 @@ func (x *DoubleIncorrectType) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleIncorrectType.ProtoReflect.Descriptor instead. func (*DoubleIncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{29} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{32} } func (x *DoubleIncorrectType) GetVal() float64 { @@ -1445,6 +1586,53 @@ func (x *DoubleIncorrectType) GetVal() float64 { return 0 } +type DoubleExample struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val float64 `protobuf:"fixed64,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *DoubleExample) Reset() { + *x = DoubleExample{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DoubleExample) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoubleExample) ProtoMessage() {} + +func (x *DoubleExample) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[33] + 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 DoubleExample.ProtoReflect.Descriptor instead. +func (*DoubleExample) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{33} +} + +func (x *DoubleExample) GetVal() float64 { + if x != nil { + return x.Val + } + return 0 +} + type Int32None struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1456,7 +1644,7 @@ type Int32None struct { func (x *Int32None) Reset() { *x = Int32None{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[30] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1469,7 +1657,7 @@ func (x *Int32None) String() string { func (*Int32None) ProtoMessage() {} func (x *Int32None) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[30] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1482,7 +1670,7 @@ func (x *Int32None) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32None.ProtoReflect.Descriptor instead. func (*Int32None) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{30} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{34} } func (x *Int32None) GetVal() int32 { @@ -1503,7 +1691,7 @@ type Int32Const struct { func (x *Int32Const) Reset() { *x = Int32Const{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[31] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1516,7 +1704,7 @@ func (x *Int32Const) String() string { func (*Int32Const) ProtoMessage() {} func (x *Int32Const) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[31] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1529,7 +1717,7 @@ func (x *Int32Const) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32Const.ProtoReflect.Descriptor instead. func (*Int32Const) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{31} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{35} } func (x *Int32Const) GetVal() int32 { @@ -1550,7 +1738,7 @@ type Int32In struct { func (x *Int32In) Reset() { *x = Int32In{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[32] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1563,7 +1751,7 @@ func (x *Int32In) String() string { func (*Int32In) ProtoMessage() {} func (x *Int32In) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[32] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1576,7 +1764,7 @@ func (x *Int32In) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32In.ProtoReflect.Descriptor instead. func (*Int32In) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{32} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{36} } func (x *Int32In) GetVal() int32 { @@ -1597,7 +1785,7 @@ type Int32NotIn struct { func (x *Int32NotIn) Reset() { *x = Int32NotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[33] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1610,7 +1798,7 @@ func (x *Int32NotIn) String() string { func (*Int32NotIn) ProtoMessage() {} func (x *Int32NotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[33] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1623,7 +1811,7 @@ func (x *Int32NotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32NotIn.ProtoReflect.Descriptor instead. func (*Int32NotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{33} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{37} } func (x *Int32NotIn) GetVal() int32 { @@ -1644,7 +1832,7 @@ type Int32LT struct { func (x *Int32LT) Reset() { *x = Int32LT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[34] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1657,7 +1845,7 @@ func (x *Int32LT) String() string { func (*Int32LT) ProtoMessage() {} func (x *Int32LT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[34] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1670,7 +1858,7 @@ func (x *Int32LT) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32LT.ProtoReflect.Descriptor instead. func (*Int32LT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{34} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{38} } func (x *Int32LT) GetVal() int32 { @@ -1691,7 +1879,7 @@ type Int32LTE struct { func (x *Int32LTE) Reset() { *x = Int32LTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[35] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1704,7 +1892,7 @@ func (x *Int32LTE) String() string { func (*Int32LTE) ProtoMessage() {} func (x *Int32LTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[35] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1717,7 +1905,7 @@ func (x *Int32LTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32LTE.ProtoReflect.Descriptor instead. func (*Int32LTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{35} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{39} } func (x *Int32LTE) GetVal() int32 { @@ -1738,7 +1926,7 @@ type Int32GT struct { func (x *Int32GT) Reset() { *x = Int32GT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[36] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1751,7 +1939,7 @@ func (x *Int32GT) String() string { func (*Int32GT) ProtoMessage() {} func (x *Int32GT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[36] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1764,7 +1952,7 @@ func (x *Int32GT) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32GT.ProtoReflect.Descriptor instead. func (*Int32GT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{36} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{40} } func (x *Int32GT) GetVal() int32 { @@ -1785,7 +1973,7 @@ type Int32GTE struct { func (x *Int32GTE) Reset() { *x = Int32GTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[37] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1798,7 +1986,7 @@ func (x *Int32GTE) String() string { func (*Int32GTE) ProtoMessage() {} func (x *Int32GTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[37] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1811,7 +1999,7 @@ func (x *Int32GTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32GTE.ProtoReflect.Descriptor instead. func (*Int32GTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{37} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{41} } func (x *Int32GTE) GetVal() int32 { @@ -1832,7 +2020,7 @@ type Int32GTLT struct { func (x *Int32GTLT) Reset() { *x = Int32GTLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[38] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1845,7 +2033,7 @@ func (x *Int32GTLT) String() string { func (*Int32GTLT) ProtoMessage() {} func (x *Int32GTLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[38] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1858,7 +2046,7 @@ func (x *Int32GTLT) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32GTLT.ProtoReflect.Descriptor instead. func (*Int32GTLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{38} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{42} } func (x *Int32GTLT) GetVal() int32 { @@ -1879,7 +2067,7 @@ type Int32ExLTGT struct { func (x *Int32ExLTGT) Reset() { *x = Int32ExLTGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[39] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1892,7 +2080,7 @@ func (x *Int32ExLTGT) String() string { func (*Int32ExLTGT) ProtoMessage() {} func (x *Int32ExLTGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[39] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1905,7 +2093,7 @@ func (x *Int32ExLTGT) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32ExLTGT.ProtoReflect.Descriptor instead. func (*Int32ExLTGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{39} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{43} } func (x *Int32ExLTGT) GetVal() int32 { @@ -1926,7 +2114,7 @@ type Int32GTELTE struct { func (x *Int32GTELTE) Reset() { *x = Int32GTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[40] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1939,7 +2127,7 @@ func (x *Int32GTELTE) String() string { func (*Int32GTELTE) ProtoMessage() {} func (x *Int32GTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[40] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1952,7 +2140,7 @@ func (x *Int32GTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32GTELTE.ProtoReflect.Descriptor instead. func (*Int32GTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{40} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{44} } func (x *Int32GTELTE) GetVal() int32 { @@ -1973,7 +2161,7 @@ type Int32ExGTELTE struct { func (x *Int32ExGTELTE) Reset() { *x = Int32ExGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[41] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1986,7 +2174,7 @@ func (x *Int32ExGTELTE) String() string { func (*Int32ExGTELTE) ProtoMessage() {} func (x *Int32ExGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[41] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1999,7 +2187,7 @@ func (x *Int32ExGTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32ExGTELTE.ProtoReflect.Descriptor instead. func (*Int32ExGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{41} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{45} } func (x *Int32ExGTELTE) GetVal() int32 { @@ -2020,7 +2208,7 @@ type Int32Ignore struct { func (x *Int32Ignore) Reset() { *x = Int32Ignore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[42] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2033,7 +2221,7 @@ func (x *Int32Ignore) String() string { func (*Int32Ignore) ProtoMessage() {} func (x *Int32Ignore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[42] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2046,7 +2234,7 @@ func (x *Int32Ignore) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32Ignore.ProtoReflect.Descriptor instead. func (*Int32Ignore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{42} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{46} } func (x *Int32Ignore) GetVal() int32 { @@ -2067,7 +2255,7 @@ type Int32IncorrectType struct { func (x *Int32IncorrectType) Reset() { *x = Int32IncorrectType{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[43] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2080,7 +2268,7 @@ func (x *Int32IncorrectType) String() string { func (*Int32IncorrectType) ProtoMessage() {} func (x *Int32IncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[43] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2093,7 +2281,7 @@ func (x *Int32IncorrectType) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32IncorrectType.ProtoReflect.Descriptor instead. func (*Int32IncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{43} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{47} } func (x *Int32IncorrectType) GetVal() int32 { @@ -2103,6 +2291,53 @@ func (x *Int32IncorrectType) GetVal() int32 { return 0 } +type Int32Example struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int32 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *Int32Example) Reset() { + *x = Int32Example{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Int32Example) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int32Example) ProtoMessage() {} + +func (x *Int32Example) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[48] + 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 Int32Example.ProtoReflect.Descriptor instead. +func (*Int32Example) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{48} +} + +func (x *Int32Example) GetVal() int32 { + if x != nil { + return x.Val + } + return 0 +} + type Int64None struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2114,7 +2349,7 @@ type Int64None struct { func (x *Int64None) Reset() { *x = Int64None{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[44] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2127,7 +2362,7 @@ func (x *Int64None) String() string { func (*Int64None) ProtoMessage() {} func (x *Int64None) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[44] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2140,7 +2375,7 @@ func (x *Int64None) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64None.ProtoReflect.Descriptor instead. func (*Int64None) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{44} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{49} } func (x *Int64None) GetVal() int64 { @@ -2161,7 +2396,7 @@ type Int64Const struct { func (x *Int64Const) Reset() { *x = Int64Const{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[45] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2174,7 +2409,7 @@ func (x *Int64Const) String() string { func (*Int64Const) ProtoMessage() {} func (x *Int64Const) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[45] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2187,7 +2422,7 @@ func (x *Int64Const) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64Const.ProtoReflect.Descriptor instead. func (*Int64Const) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{45} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{50} } func (x *Int64Const) GetVal() int64 { @@ -2208,7 +2443,7 @@ type Int64In struct { func (x *Int64In) Reset() { *x = Int64In{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[46] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2221,7 +2456,7 @@ func (x *Int64In) String() string { func (*Int64In) ProtoMessage() {} func (x *Int64In) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[46] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2234,7 +2469,7 @@ func (x *Int64In) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64In.ProtoReflect.Descriptor instead. func (*Int64In) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{46} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{51} } func (x *Int64In) GetVal() int64 { @@ -2255,7 +2490,7 @@ type Int64NotIn struct { func (x *Int64NotIn) Reset() { *x = Int64NotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[47] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2268,7 +2503,7 @@ func (x *Int64NotIn) String() string { func (*Int64NotIn) ProtoMessage() {} func (x *Int64NotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[47] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2281,7 +2516,7 @@ func (x *Int64NotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64NotIn.ProtoReflect.Descriptor instead. func (*Int64NotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{47} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{52} } func (x *Int64NotIn) GetVal() int64 { @@ -2302,7 +2537,7 @@ type Int64LT struct { func (x *Int64LT) Reset() { *x = Int64LT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[48] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2315,7 +2550,7 @@ func (x *Int64LT) String() string { func (*Int64LT) ProtoMessage() {} func (x *Int64LT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[48] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2328,7 +2563,7 @@ func (x *Int64LT) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64LT.ProtoReflect.Descriptor instead. func (*Int64LT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{48} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{53} } func (x *Int64LT) GetVal() int64 { @@ -2349,7 +2584,7 @@ type Int64LTE struct { func (x *Int64LTE) Reset() { *x = Int64LTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[49] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2362,7 +2597,7 @@ func (x *Int64LTE) String() string { func (*Int64LTE) ProtoMessage() {} func (x *Int64LTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[49] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2375,7 +2610,7 @@ func (x *Int64LTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64LTE.ProtoReflect.Descriptor instead. func (*Int64LTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{49} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{54} } func (x *Int64LTE) GetVal() int64 { @@ -2396,7 +2631,7 @@ type Int64GT struct { func (x *Int64GT) Reset() { *x = Int64GT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[50] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2409,7 +2644,7 @@ func (x *Int64GT) String() string { func (*Int64GT) ProtoMessage() {} func (x *Int64GT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[50] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2422,7 +2657,7 @@ func (x *Int64GT) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64GT.ProtoReflect.Descriptor instead. func (*Int64GT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{50} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{55} } func (x *Int64GT) GetVal() int64 { @@ -2443,7 +2678,7 @@ type Int64GTE struct { func (x *Int64GTE) Reset() { *x = Int64GTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[51] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2456,7 +2691,7 @@ func (x *Int64GTE) String() string { func (*Int64GTE) ProtoMessage() {} func (x *Int64GTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[51] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2469,7 +2704,7 @@ func (x *Int64GTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64GTE.ProtoReflect.Descriptor instead. func (*Int64GTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{51} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{56} } func (x *Int64GTE) GetVal() int64 { @@ -2490,7 +2725,7 @@ type Int64GTLT struct { func (x *Int64GTLT) Reset() { *x = Int64GTLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[52] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2503,7 +2738,7 @@ func (x *Int64GTLT) String() string { func (*Int64GTLT) ProtoMessage() {} func (x *Int64GTLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[52] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2516,7 +2751,7 @@ func (x *Int64GTLT) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64GTLT.ProtoReflect.Descriptor instead. func (*Int64GTLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{52} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{57} } func (x *Int64GTLT) GetVal() int64 { @@ -2537,7 +2772,7 @@ type Int64ExLTGT struct { func (x *Int64ExLTGT) Reset() { *x = Int64ExLTGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[53] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2550,7 +2785,7 @@ func (x *Int64ExLTGT) String() string { func (*Int64ExLTGT) ProtoMessage() {} func (x *Int64ExLTGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[53] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2563,7 +2798,7 @@ func (x *Int64ExLTGT) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64ExLTGT.ProtoReflect.Descriptor instead. func (*Int64ExLTGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{53} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{58} } func (x *Int64ExLTGT) GetVal() int64 { @@ -2584,7 +2819,7 @@ type Int64GTELTE struct { func (x *Int64GTELTE) Reset() { *x = Int64GTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[54] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2597,7 +2832,7 @@ func (x *Int64GTELTE) String() string { func (*Int64GTELTE) ProtoMessage() {} func (x *Int64GTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[54] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2610,7 +2845,7 @@ func (x *Int64GTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64GTELTE.ProtoReflect.Descriptor instead. func (*Int64GTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{54} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{59} } func (x *Int64GTELTE) GetVal() int64 { @@ -2631,7 +2866,7 @@ type Int64ExGTELTE struct { func (x *Int64ExGTELTE) Reset() { *x = Int64ExGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[55] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2644,7 +2879,7 @@ func (x *Int64ExGTELTE) String() string { func (*Int64ExGTELTE) ProtoMessage() {} func (x *Int64ExGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[55] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2657,7 +2892,7 @@ func (x *Int64ExGTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64ExGTELTE.ProtoReflect.Descriptor instead. func (*Int64ExGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{55} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{60} } func (x *Int64ExGTELTE) GetVal() int64 { @@ -2678,7 +2913,7 @@ type Int64Ignore struct { func (x *Int64Ignore) Reset() { *x = Int64Ignore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[56] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2691,7 +2926,7 @@ func (x *Int64Ignore) String() string { func (*Int64Ignore) ProtoMessage() {} func (x *Int64Ignore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[56] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2704,7 +2939,7 @@ func (x *Int64Ignore) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64Ignore.ProtoReflect.Descriptor instead. func (*Int64Ignore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{56} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{61} } func (x *Int64Ignore) GetVal() int64 { @@ -2737,7 +2972,7 @@ type Int64BigConstraints struct { func (x *Int64BigConstraints) Reset() { *x = Int64BigConstraints{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[57] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2750,7 +2985,7 @@ func (x *Int64BigConstraints) String() string { func (*Int64BigConstraints) ProtoMessage() {} func (x *Int64BigConstraints) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[57] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2763,7 +2998,7 @@ func (x *Int64BigConstraints) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64BigConstraints.ProtoReflect.Descriptor instead. func (*Int64BigConstraints) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{57} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{62} } func (x *Int64BigConstraints) GetLtPos() int64 { @@ -2861,20 +3096,67 @@ type Int64IncorrectType struct { func (x *Int64IncorrectType) Reset() { *x = Int64IncorrectType{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[58] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Int64IncorrectType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int64IncorrectType) ProtoMessage() {} + +func (x *Int64IncorrectType) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[63] + 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 Int64IncorrectType.ProtoReflect.Descriptor instead. +func (*Int64IncorrectType) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{63} +} + +func (x *Int64IncorrectType) GetVal() int64 { + if x != nil { + return x.Val + } + return 0 +} + +type Int64Example struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int64 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *Int64Example) Reset() { + *x = Int64Example{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Int64IncorrectType) String() string { +func (x *Int64Example) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Int64IncorrectType) ProtoMessage() {} +func (*Int64Example) ProtoMessage() {} -func (x *Int64IncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[58] +func (x *Int64Example) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2885,12 +3167,12 @@ func (x *Int64IncorrectType) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Int64IncorrectType.ProtoReflect.Descriptor instead. -func (*Int64IncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{58} +// Deprecated: Use Int64Example.ProtoReflect.Descriptor instead. +func (*Int64Example) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{64} } -func (x *Int64IncorrectType) GetVal() int64 { +func (x *Int64Example) GetVal() int64 { if x != nil { return x.Val } @@ -2908,7 +3190,7 @@ type UInt32None struct { func (x *UInt32None) Reset() { *x = UInt32None{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[59] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2921,7 +3203,7 @@ func (x *UInt32None) String() string { func (*UInt32None) ProtoMessage() {} func (x *UInt32None) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[59] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2934,7 +3216,7 @@ func (x *UInt32None) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32None.ProtoReflect.Descriptor instead. func (*UInt32None) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{59} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{65} } func (x *UInt32None) GetVal() uint32 { @@ -2955,7 +3237,7 @@ type UInt32Const struct { func (x *UInt32Const) Reset() { *x = UInt32Const{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[60] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2968,7 +3250,7 @@ func (x *UInt32Const) String() string { func (*UInt32Const) ProtoMessage() {} func (x *UInt32Const) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[60] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2981,7 +3263,7 @@ func (x *UInt32Const) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32Const.ProtoReflect.Descriptor instead. func (*UInt32Const) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{60} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{66} } func (x *UInt32Const) GetVal() uint32 { @@ -3002,7 +3284,7 @@ type UInt32In struct { func (x *UInt32In) Reset() { *x = UInt32In{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[61] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3015,7 +3297,7 @@ func (x *UInt32In) String() string { func (*UInt32In) ProtoMessage() {} func (x *UInt32In) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[61] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3028,7 +3310,7 @@ func (x *UInt32In) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32In.ProtoReflect.Descriptor instead. func (*UInt32In) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{61} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{67} } func (x *UInt32In) GetVal() uint32 { @@ -3049,7 +3331,7 @@ type UInt32NotIn struct { func (x *UInt32NotIn) Reset() { *x = UInt32NotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[62] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3062,7 +3344,7 @@ func (x *UInt32NotIn) String() string { func (*UInt32NotIn) ProtoMessage() {} func (x *UInt32NotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[62] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3075,7 +3357,7 @@ func (x *UInt32NotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32NotIn.ProtoReflect.Descriptor instead. func (*UInt32NotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{62} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{68} } func (x *UInt32NotIn) GetVal() uint32 { @@ -3096,7 +3378,7 @@ type UInt32LT struct { func (x *UInt32LT) Reset() { *x = UInt32LT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[63] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3109,7 +3391,7 @@ func (x *UInt32LT) String() string { func (*UInt32LT) ProtoMessage() {} func (x *UInt32LT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[63] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3122,7 +3404,7 @@ func (x *UInt32LT) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32LT.ProtoReflect.Descriptor instead. func (*UInt32LT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{63} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{69} } func (x *UInt32LT) GetVal() uint32 { @@ -3143,7 +3425,7 @@ type UInt32LTE struct { func (x *UInt32LTE) Reset() { *x = UInt32LTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[64] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3156,7 +3438,7 @@ func (x *UInt32LTE) String() string { func (*UInt32LTE) ProtoMessage() {} func (x *UInt32LTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[64] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3169,7 +3451,7 @@ func (x *UInt32LTE) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32LTE.ProtoReflect.Descriptor instead. func (*UInt32LTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{64} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{70} } func (x *UInt32LTE) GetVal() uint32 { @@ -3190,7 +3472,7 @@ type UInt32GT struct { func (x *UInt32GT) Reset() { *x = UInt32GT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[65] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3203,7 +3485,7 @@ func (x *UInt32GT) String() string { func (*UInt32GT) ProtoMessage() {} func (x *UInt32GT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[65] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3216,7 +3498,7 @@ func (x *UInt32GT) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32GT.ProtoReflect.Descriptor instead. func (*UInt32GT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{65} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{71} } func (x *UInt32GT) GetVal() uint32 { @@ -3237,7 +3519,7 @@ type UInt32GTE struct { func (x *UInt32GTE) Reset() { *x = UInt32GTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[66] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3250,7 +3532,7 @@ func (x *UInt32GTE) String() string { func (*UInt32GTE) ProtoMessage() {} func (x *UInt32GTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[66] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3263,7 +3545,7 @@ func (x *UInt32GTE) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32GTE.ProtoReflect.Descriptor instead. func (*UInt32GTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{66} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{72} } func (x *UInt32GTE) GetVal() uint32 { @@ -3284,7 +3566,7 @@ type UInt32GTLT struct { func (x *UInt32GTLT) Reset() { *x = UInt32GTLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[67] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3297,7 +3579,7 @@ func (x *UInt32GTLT) String() string { func (*UInt32GTLT) ProtoMessage() {} func (x *UInt32GTLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[67] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3310,7 +3592,7 @@ func (x *UInt32GTLT) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32GTLT.ProtoReflect.Descriptor instead. func (*UInt32GTLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{67} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{73} } func (x *UInt32GTLT) GetVal() uint32 { @@ -3331,7 +3613,7 @@ type UInt32ExLTGT struct { func (x *UInt32ExLTGT) Reset() { *x = UInt32ExLTGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[68] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3344,7 +3626,7 @@ func (x *UInt32ExLTGT) String() string { func (*UInt32ExLTGT) ProtoMessage() {} func (x *UInt32ExLTGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[68] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3357,7 +3639,7 @@ func (x *UInt32ExLTGT) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32ExLTGT.ProtoReflect.Descriptor instead. func (*UInt32ExLTGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{68} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{74} } func (x *UInt32ExLTGT) GetVal() uint32 { @@ -3378,7 +3660,7 @@ type UInt32GTELTE struct { func (x *UInt32GTELTE) Reset() { *x = UInt32GTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[69] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3391,7 +3673,7 @@ func (x *UInt32GTELTE) String() string { func (*UInt32GTELTE) ProtoMessage() {} func (x *UInt32GTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[69] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3404,7 +3686,7 @@ func (x *UInt32GTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32GTELTE.ProtoReflect.Descriptor instead. func (*UInt32GTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{69} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{75} } func (x *UInt32GTELTE) GetVal() uint32 { @@ -3425,7 +3707,7 @@ type UInt32ExGTELTE struct { func (x *UInt32ExGTELTE) Reset() { *x = UInt32ExGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[70] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3438,7 +3720,7 @@ func (x *UInt32ExGTELTE) String() string { func (*UInt32ExGTELTE) ProtoMessage() {} func (x *UInt32ExGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[70] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3451,7 +3733,7 @@ func (x *UInt32ExGTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32ExGTELTE.ProtoReflect.Descriptor instead. func (*UInt32ExGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{70} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{76} } func (x *UInt32ExGTELTE) GetVal() uint32 { @@ -3472,7 +3754,7 @@ type UInt32Ignore struct { func (x *UInt32Ignore) Reset() { *x = UInt32Ignore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[71] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3485,7 +3767,7 @@ func (x *UInt32Ignore) String() string { func (*UInt32Ignore) ProtoMessage() {} func (x *UInt32Ignore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[71] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3498,7 +3780,7 @@ func (x *UInt32Ignore) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32Ignore.ProtoReflect.Descriptor instead. func (*UInt32Ignore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{71} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{77} } func (x *UInt32Ignore) GetVal() uint32 { @@ -3519,7 +3801,7 @@ type UInt32IncorrectType struct { func (x *UInt32IncorrectType) Reset() { *x = UInt32IncorrectType{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[72] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3532,7 +3814,7 @@ func (x *UInt32IncorrectType) String() string { func (*UInt32IncorrectType) ProtoMessage() {} func (x *UInt32IncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[72] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3545,7 +3827,7 @@ func (x *UInt32IncorrectType) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32IncorrectType.ProtoReflect.Descriptor instead. func (*UInt32IncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{72} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{78} } func (x *UInt32IncorrectType) GetVal() uint32 { @@ -3555,6 +3837,53 @@ func (x *UInt32IncorrectType) GetVal() uint32 { return 0 } +type UInt32Example struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val uint32 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *UInt32Example) Reset() { + *x = UInt32Example{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UInt32Example) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt32Example) ProtoMessage() {} + +func (x *UInt32Example) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[79] + 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 UInt32Example.ProtoReflect.Descriptor instead. +func (*UInt32Example) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{79} +} + +func (x *UInt32Example) GetVal() uint32 { + if x != nil { + return x.Val + } + return 0 +} + type UInt64None struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3566,7 +3895,7 @@ type UInt64None struct { func (x *UInt64None) Reset() { *x = UInt64None{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[73] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3579,7 +3908,7 @@ func (x *UInt64None) String() string { func (*UInt64None) ProtoMessage() {} func (x *UInt64None) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[73] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3592,7 +3921,7 @@ func (x *UInt64None) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64None.ProtoReflect.Descriptor instead. func (*UInt64None) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{73} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{80} } func (x *UInt64None) GetVal() uint64 { @@ -3613,7 +3942,7 @@ type UInt64Const struct { func (x *UInt64Const) Reset() { *x = UInt64Const{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[74] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3626,7 +3955,7 @@ func (x *UInt64Const) String() string { func (*UInt64Const) ProtoMessage() {} func (x *UInt64Const) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[74] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3639,7 +3968,7 @@ func (x *UInt64Const) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64Const.ProtoReflect.Descriptor instead. func (*UInt64Const) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{74} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{81} } func (x *UInt64Const) GetVal() uint64 { @@ -3660,7 +3989,7 @@ type UInt64In struct { func (x *UInt64In) Reset() { *x = UInt64In{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[75] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3673,7 +4002,7 @@ func (x *UInt64In) String() string { func (*UInt64In) ProtoMessage() {} func (x *UInt64In) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[75] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3686,7 +4015,7 @@ func (x *UInt64In) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64In.ProtoReflect.Descriptor instead. func (*UInt64In) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{75} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{82} } func (x *UInt64In) GetVal() uint64 { @@ -3707,7 +4036,7 @@ type UInt64NotIn struct { func (x *UInt64NotIn) Reset() { *x = UInt64NotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[76] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3720,7 +4049,7 @@ func (x *UInt64NotIn) String() string { func (*UInt64NotIn) ProtoMessage() {} func (x *UInt64NotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[76] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3733,7 +4062,7 @@ func (x *UInt64NotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64NotIn.ProtoReflect.Descriptor instead. func (*UInt64NotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{76} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{83} } func (x *UInt64NotIn) GetVal() uint64 { @@ -3754,7 +4083,7 @@ type UInt64LT struct { func (x *UInt64LT) Reset() { *x = UInt64LT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[77] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3767,7 +4096,7 @@ func (x *UInt64LT) String() string { func (*UInt64LT) ProtoMessage() {} func (x *UInt64LT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[77] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3780,7 +4109,7 @@ func (x *UInt64LT) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64LT.ProtoReflect.Descriptor instead. func (*UInt64LT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{77} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{84} } func (x *UInt64LT) GetVal() uint64 { @@ -3801,7 +4130,7 @@ type UInt64LTE struct { func (x *UInt64LTE) Reset() { *x = UInt64LTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[78] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3814,7 +4143,7 @@ func (x *UInt64LTE) String() string { func (*UInt64LTE) ProtoMessage() {} func (x *UInt64LTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[78] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3827,7 +4156,7 @@ func (x *UInt64LTE) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64LTE.ProtoReflect.Descriptor instead. func (*UInt64LTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{78} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{85} } func (x *UInt64LTE) GetVal() uint64 { @@ -3848,7 +4177,7 @@ type UInt64GT struct { func (x *UInt64GT) Reset() { *x = UInt64GT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[79] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3861,7 +4190,7 @@ func (x *UInt64GT) String() string { func (*UInt64GT) ProtoMessage() {} func (x *UInt64GT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[79] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3874,7 +4203,7 @@ func (x *UInt64GT) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64GT.ProtoReflect.Descriptor instead. func (*UInt64GT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{79} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{86} } func (x *UInt64GT) GetVal() uint64 { @@ -3895,7 +4224,7 @@ type UInt64GTE struct { func (x *UInt64GTE) Reset() { *x = UInt64GTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[80] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3908,7 +4237,7 @@ func (x *UInt64GTE) String() string { func (*UInt64GTE) ProtoMessage() {} func (x *UInt64GTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[80] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3921,7 +4250,7 @@ func (x *UInt64GTE) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64GTE.ProtoReflect.Descriptor instead. func (*UInt64GTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{80} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{87} } func (x *UInt64GTE) GetVal() uint64 { @@ -3942,7 +4271,7 @@ type UInt64GTLT struct { func (x *UInt64GTLT) Reset() { *x = UInt64GTLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[81] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3955,7 +4284,7 @@ func (x *UInt64GTLT) String() string { func (*UInt64GTLT) ProtoMessage() {} func (x *UInt64GTLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[81] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3968,7 +4297,7 @@ func (x *UInt64GTLT) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64GTLT.ProtoReflect.Descriptor instead. func (*UInt64GTLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{81} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{88} } func (x *UInt64GTLT) GetVal() uint64 { @@ -3989,7 +4318,7 @@ type UInt64ExLTGT struct { func (x *UInt64ExLTGT) Reset() { *x = UInt64ExLTGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[82] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4002,7 +4331,7 @@ func (x *UInt64ExLTGT) String() string { func (*UInt64ExLTGT) ProtoMessage() {} func (x *UInt64ExLTGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[82] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4015,7 +4344,7 @@ func (x *UInt64ExLTGT) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64ExLTGT.ProtoReflect.Descriptor instead. func (*UInt64ExLTGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{82} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{89} } func (x *UInt64ExLTGT) GetVal() uint64 { @@ -4036,7 +4365,7 @@ type UInt64GTELTE struct { func (x *UInt64GTELTE) Reset() { *x = UInt64GTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[83] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4049,7 +4378,7 @@ func (x *UInt64GTELTE) String() string { func (*UInt64GTELTE) ProtoMessage() {} func (x *UInt64GTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[83] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4062,7 +4391,7 @@ func (x *UInt64GTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64GTELTE.ProtoReflect.Descriptor instead. func (*UInt64GTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{83} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{90} } func (x *UInt64GTELTE) GetVal() uint64 { @@ -4083,7 +4412,7 @@ type UInt64ExGTELTE struct { func (x *UInt64ExGTELTE) Reset() { *x = UInt64ExGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[84] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4096,7 +4425,7 @@ func (x *UInt64ExGTELTE) String() string { func (*UInt64ExGTELTE) ProtoMessage() {} func (x *UInt64ExGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[84] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4109,7 +4438,7 @@ func (x *UInt64ExGTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64ExGTELTE.ProtoReflect.Descriptor instead. func (*UInt64ExGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{84} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{91} } func (x *UInt64ExGTELTE) GetVal() uint64 { @@ -4130,7 +4459,7 @@ type UInt64Ignore struct { func (x *UInt64Ignore) Reset() { *x = UInt64Ignore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[85] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4143,7 +4472,7 @@ func (x *UInt64Ignore) String() string { func (*UInt64Ignore) ProtoMessage() {} func (x *UInt64Ignore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[85] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4156,7 +4485,7 @@ func (x *UInt64Ignore) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64Ignore.ProtoReflect.Descriptor instead. func (*UInt64Ignore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{85} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{92} } func (x *UInt64Ignore) GetVal() uint64 { @@ -4177,20 +4506,67 @@ type UInt64IncorrectType struct { func (x *UInt64IncorrectType) Reset() { *x = UInt64IncorrectType{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[86] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UInt64IncorrectType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt64IncorrectType) ProtoMessage() {} + +func (x *UInt64IncorrectType) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[93] + 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 UInt64IncorrectType.ProtoReflect.Descriptor instead. +func (*UInt64IncorrectType) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{93} +} + +func (x *UInt64IncorrectType) GetVal() uint64 { + if x != nil { + return x.Val + } + return 0 +} + +type UInt64Example struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val uint64 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *UInt64Example) Reset() { + *x = UInt64Example{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UInt64IncorrectType) String() string { +func (x *UInt64Example) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UInt64IncorrectType) ProtoMessage() {} +func (*UInt64Example) ProtoMessage() {} -func (x *UInt64IncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[86] +func (x *UInt64Example) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4201,12 +4577,12 @@ func (x *UInt64IncorrectType) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UInt64IncorrectType.ProtoReflect.Descriptor instead. -func (*UInt64IncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{86} +// Deprecated: Use UInt64Example.ProtoReflect.Descriptor instead. +func (*UInt64Example) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{94} } -func (x *UInt64IncorrectType) GetVal() uint64 { +func (x *UInt64Example) GetVal() uint64 { if x != nil { return x.Val } @@ -4224,7 +4600,7 @@ type SInt32None struct { func (x *SInt32None) Reset() { *x = SInt32None{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[87] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4237,7 +4613,7 @@ func (x *SInt32None) String() string { func (*SInt32None) ProtoMessage() {} func (x *SInt32None) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[87] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4250,7 +4626,7 @@ func (x *SInt32None) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32None.ProtoReflect.Descriptor instead. func (*SInt32None) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{87} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{95} } func (x *SInt32None) GetVal() int32 { @@ -4271,7 +4647,7 @@ type SInt32Const struct { func (x *SInt32Const) Reset() { *x = SInt32Const{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[88] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4284,7 +4660,7 @@ func (x *SInt32Const) String() string { func (*SInt32Const) ProtoMessage() {} func (x *SInt32Const) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[88] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4297,7 +4673,7 @@ func (x *SInt32Const) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32Const.ProtoReflect.Descriptor instead. func (*SInt32Const) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{88} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{96} } func (x *SInt32Const) GetVal() int32 { @@ -4318,7 +4694,7 @@ type SInt32In struct { func (x *SInt32In) Reset() { *x = SInt32In{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[89] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4331,7 +4707,7 @@ func (x *SInt32In) String() string { func (*SInt32In) ProtoMessage() {} func (x *SInt32In) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[89] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4344,7 +4720,7 @@ func (x *SInt32In) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32In.ProtoReflect.Descriptor instead. func (*SInt32In) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{89} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{97} } func (x *SInt32In) GetVal() int32 { @@ -4365,7 +4741,7 @@ type SInt32NotIn struct { func (x *SInt32NotIn) Reset() { *x = SInt32NotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[90] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4378,7 +4754,7 @@ func (x *SInt32NotIn) String() string { func (*SInt32NotIn) ProtoMessage() {} func (x *SInt32NotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[90] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4391,7 +4767,7 @@ func (x *SInt32NotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32NotIn.ProtoReflect.Descriptor instead. func (*SInt32NotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{90} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{98} } func (x *SInt32NotIn) GetVal() int32 { @@ -4412,7 +4788,7 @@ type SInt32LT struct { func (x *SInt32LT) Reset() { *x = SInt32LT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[91] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4425,7 +4801,7 @@ func (x *SInt32LT) String() string { func (*SInt32LT) ProtoMessage() {} func (x *SInt32LT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[91] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4438,7 +4814,7 @@ func (x *SInt32LT) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32LT.ProtoReflect.Descriptor instead. func (*SInt32LT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{91} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{99} } func (x *SInt32LT) GetVal() int32 { @@ -4459,7 +4835,7 @@ type SInt32LTE struct { func (x *SInt32LTE) Reset() { *x = SInt32LTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[92] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4472,7 +4848,7 @@ func (x *SInt32LTE) String() string { func (*SInt32LTE) ProtoMessage() {} func (x *SInt32LTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[92] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4485,7 +4861,7 @@ func (x *SInt32LTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32LTE.ProtoReflect.Descriptor instead. func (*SInt32LTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{92} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{100} } func (x *SInt32LTE) GetVal() int32 { @@ -4506,7 +4882,7 @@ type SInt32GT struct { func (x *SInt32GT) Reset() { *x = SInt32GT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[93] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4519,7 +4895,7 @@ func (x *SInt32GT) String() string { func (*SInt32GT) ProtoMessage() {} func (x *SInt32GT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[93] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4532,7 +4908,7 @@ func (x *SInt32GT) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32GT.ProtoReflect.Descriptor instead. func (*SInt32GT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{93} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{101} } func (x *SInt32GT) GetVal() int32 { @@ -4553,7 +4929,7 @@ type SInt32GTE struct { func (x *SInt32GTE) Reset() { *x = SInt32GTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[94] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4566,7 +4942,7 @@ func (x *SInt32GTE) String() string { func (*SInt32GTE) ProtoMessage() {} func (x *SInt32GTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[94] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4579,7 +4955,7 @@ func (x *SInt32GTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32GTE.ProtoReflect.Descriptor instead. func (*SInt32GTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{94} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{102} } func (x *SInt32GTE) GetVal() int32 { @@ -4600,7 +4976,7 @@ type SInt32GTLT struct { func (x *SInt32GTLT) Reset() { *x = SInt32GTLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[95] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4613,7 +4989,7 @@ func (x *SInt32GTLT) String() string { func (*SInt32GTLT) ProtoMessage() {} func (x *SInt32GTLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[95] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4626,7 +5002,7 @@ func (x *SInt32GTLT) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32GTLT.ProtoReflect.Descriptor instead. func (*SInt32GTLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{95} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{103} } func (x *SInt32GTLT) GetVal() int32 { @@ -4647,7 +5023,7 @@ type SInt32ExLTGT struct { func (x *SInt32ExLTGT) Reset() { *x = SInt32ExLTGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[96] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4660,7 +5036,7 @@ func (x *SInt32ExLTGT) String() string { func (*SInt32ExLTGT) ProtoMessage() {} func (x *SInt32ExLTGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[96] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4673,7 +5049,7 @@ func (x *SInt32ExLTGT) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32ExLTGT.ProtoReflect.Descriptor instead. func (*SInt32ExLTGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{96} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{104} } func (x *SInt32ExLTGT) GetVal() int32 { @@ -4694,7 +5070,7 @@ type SInt32GTELTE struct { func (x *SInt32GTELTE) Reset() { *x = SInt32GTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[97] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4707,7 +5083,7 @@ func (x *SInt32GTELTE) String() string { func (*SInt32GTELTE) ProtoMessage() {} func (x *SInt32GTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[97] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4720,7 +5096,7 @@ func (x *SInt32GTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32GTELTE.ProtoReflect.Descriptor instead. func (*SInt32GTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{97} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{105} } func (x *SInt32GTELTE) GetVal() int32 { @@ -4741,7 +5117,7 @@ type SInt32ExGTELTE struct { func (x *SInt32ExGTELTE) Reset() { *x = SInt32ExGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[98] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4754,7 +5130,7 @@ func (x *SInt32ExGTELTE) String() string { func (*SInt32ExGTELTE) ProtoMessage() {} func (x *SInt32ExGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[98] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4767,7 +5143,7 @@ func (x *SInt32ExGTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32ExGTELTE.ProtoReflect.Descriptor instead. func (*SInt32ExGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{98} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{106} } func (x *SInt32ExGTELTE) GetVal() int32 { @@ -4788,7 +5164,7 @@ type SInt32Ignore struct { func (x *SInt32Ignore) Reset() { *x = SInt32Ignore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[99] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4801,7 +5177,7 @@ func (x *SInt32Ignore) String() string { func (*SInt32Ignore) ProtoMessage() {} func (x *SInt32Ignore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[99] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4814,7 +5190,7 @@ func (x *SInt32Ignore) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32Ignore.ProtoReflect.Descriptor instead. func (*SInt32Ignore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{99} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{107} } func (x *SInt32Ignore) GetVal() int32 { @@ -4835,7 +5211,7 @@ type SInt32IncorrectType struct { func (x *SInt32IncorrectType) Reset() { *x = SInt32IncorrectType{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[100] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4848,7 +5224,7 @@ func (x *SInt32IncorrectType) String() string { func (*SInt32IncorrectType) ProtoMessage() {} func (x *SInt32IncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[100] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4861,7 +5237,7 @@ func (x *SInt32IncorrectType) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32IncorrectType.ProtoReflect.Descriptor instead. func (*SInt32IncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{100} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{108} } func (x *SInt32IncorrectType) GetVal() int32 { @@ -4871,6 +5247,53 @@ func (x *SInt32IncorrectType) GetVal() int32 { return 0 } +type SInt32Example struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int32 `protobuf:"zigzag32,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *SInt32Example) Reset() { + *x = SInt32Example{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SInt32Example) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SInt32Example) ProtoMessage() {} + +func (x *SInt32Example) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[109] + 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 SInt32Example.ProtoReflect.Descriptor instead. +func (*SInt32Example) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{109} +} + +func (x *SInt32Example) GetVal() int32 { + if x != nil { + return x.Val + } + return 0 +} + type SInt64None struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4882,7 +5305,7 @@ type SInt64None struct { func (x *SInt64None) Reset() { *x = SInt64None{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[101] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4895,7 +5318,7 @@ func (x *SInt64None) String() string { func (*SInt64None) ProtoMessage() {} func (x *SInt64None) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[101] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4908,7 +5331,7 @@ func (x *SInt64None) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64None.ProtoReflect.Descriptor instead. func (*SInt64None) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{101} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{110} } func (x *SInt64None) GetVal() int64 { @@ -4929,7 +5352,7 @@ type SInt64Const struct { func (x *SInt64Const) Reset() { *x = SInt64Const{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[102] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4942,7 +5365,7 @@ func (x *SInt64Const) String() string { func (*SInt64Const) ProtoMessage() {} func (x *SInt64Const) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[102] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4955,7 +5378,7 @@ func (x *SInt64Const) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64Const.ProtoReflect.Descriptor instead. func (*SInt64Const) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{102} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{111} } func (x *SInt64Const) GetVal() int64 { @@ -4976,7 +5399,7 @@ type SInt64In struct { func (x *SInt64In) Reset() { *x = SInt64In{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[103] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4989,7 +5412,7 @@ func (x *SInt64In) String() string { func (*SInt64In) ProtoMessage() {} func (x *SInt64In) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[103] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5002,7 +5425,7 @@ func (x *SInt64In) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64In.ProtoReflect.Descriptor instead. func (*SInt64In) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{103} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{112} } func (x *SInt64In) GetVal() int64 { @@ -5023,7 +5446,7 @@ type SInt64NotIn struct { func (x *SInt64NotIn) Reset() { *x = SInt64NotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[104] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5036,7 +5459,7 @@ func (x *SInt64NotIn) String() string { func (*SInt64NotIn) ProtoMessage() {} func (x *SInt64NotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[104] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5049,7 +5472,7 @@ func (x *SInt64NotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64NotIn.ProtoReflect.Descriptor instead. func (*SInt64NotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{104} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{113} } func (x *SInt64NotIn) GetVal() int64 { @@ -5070,7 +5493,7 @@ type SInt64LT struct { func (x *SInt64LT) Reset() { *x = SInt64LT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[105] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5083,7 +5506,7 @@ func (x *SInt64LT) String() string { func (*SInt64LT) ProtoMessage() {} func (x *SInt64LT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[105] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5096,7 +5519,7 @@ func (x *SInt64LT) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64LT.ProtoReflect.Descriptor instead. func (*SInt64LT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{105} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{114} } func (x *SInt64LT) GetVal() int64 { @@ -5117,7 +5540,7 @@ type SInt64LTE struct { func (x *SInt64LTE) Reset() { *x = SInt64LTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[106] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5130,7 +5553,7 @@ func (x *SInt64LTE) String() string { func (*SInt64LTE) ProtoMessage() {} func (x *SInt64LTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[106] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5143,7 +5566,7 @@ func (x *SInt64LTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64LTE.ProtoReflect.Descriptor instead. func (*SInt64LTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{106} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{115} } func (x *SInt64LTE) GetVal() int64 { @@ -5164,7 +5587,7 @@ type SInt64GT struct { func (x *SInt64GT) Reset() { *x = SInt64GT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[107] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5177,7 +5600,7 @@ func (x *SInt64GT) String() string { func (*SInt64GT) ProtoMessage() {} func (x *SInt64GT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[107] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5190,7 +5613,7 @@ func (x *SInt64GT) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64GT.ProtoReflect.Descriptor instead. func (*SInt64GT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{107} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{116} } func (x *SInt64GT) GetVal() int64 { @@ -5211,7 +5634,7 @@ type SInt64GTE struct { func (x *SInt64GTE) Reset() { *x = SInt64GTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[108] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5224,7 +5647,7 @@ func (x *SInt64GTE) String() string { func (*SInt64GTE) ProtoMessage() {} func (x *SInt64GTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[108] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5237,7 +5660,7 @@ func (x *SInt64GTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64GTE.ProtoReflect.Descriptor instead. func (*SInt64GTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{108} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{117} } func (x *SInt64GTE) GetVal() int64 { @@ -5258,7 +5681,7 @@ type SInt64GTLT struct { func (x *SInt64GTLT) Reset() { *x = SInt64GTLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[109] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5271,7 +5694,7 @@ func (x *SInt64GTLT) String() string { func (*SInt64GTLT) ProtoMessage() {} func (x *SInt64GTLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[109] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5284,7 +5707,7 @@ func (x *SInt64GTLT) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64GTLT.ProtoReflect.Descriptor instead. func (*SInt64GTLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{109} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{118} } func (x *SInt64GTLT) GetVal() int64 { @@ -5305,7 +5728,7 @@ type SInt64ExLTGT struct { func (x *SInt64ExLTGT) Reset() { *x = SInt64ExLTGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[110] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5318,7 +5741,7 @@ func (x *SInt64ExLTGT) String() string { func (*SInt64ExLTGT) ProtoMessage() {} func (x *SInt64ExLTGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[110] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5331,7 +5754,7 @@ func (x *SInt64ExLTGT) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64ExLTGT.ProtoReflect.Descriptor instead. func (*SInt64ExLTGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{110} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{119} } func (x *SInt64ExLTGT) GetVal() int64 { @@ -5352,7 +5775,7 @@ type SInt64GTELTE struct { func (x *SInt64GTELTE) Reset() { *x = SInt64GTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[111] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5365,7 +5788,7 @@ func (x *SInt64GTELTE) String() string { func (*SInt64GTELTE) ProtoMessage() {} func (x *SInt64GTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[111] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5378,7 +5801,7 @@ func (x *SInt64GTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64GTELTE.ProtoReflect.Descriptor instead. func (*SInt64GTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{111} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{120} } func (x *SInt64GTELTE) GetVal() int64 { @@ -5399,7 +5822,7 @@ type SInt64ExGTELTE struct { func (x *SInt64ExGTELTE) Reset() { *x = SInt64ExGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[112] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5412,7 +5835,7 @@ func (x *SInt64ExGTELTE) String() string { func (*SInt64ExGTELTE) ProtoMessage() {} func (x *SInt64ExGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[112] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5425,7 +5848,7 @@ func (x *SInt64ExGTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64ExGTELTE.ProtoReflect.Descriptor instead. func (*SInt64ExGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{112} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{121} } func (x *SInt64ExGTELTE) GetVal() int64 { @@ -5446,7 +5869,7 @@ type SInt64Ignore struct { func (x *SInt64Ignore) Reset() { *x = SInt64Ignore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[113] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5459,7 +5882,7 @@ func (x *SInt64Ignore) String() string { func (*SInt64Ignore) ProtoMessage() {} func (x *SInt64Ignore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[113] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5472,17 +5895,64 @@ func (x *SInt64Ignore) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64Ignore.ProtoReflect.Descriptor instead. func (*SInt64Ignore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{113} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{122} +} + +func (x *SInt64Ignore) GetVal() int64 { + if x != nil { + return x.Val + } + return 0 +} + +type SInt64IncorrectType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int64 `protobuf:"zigzag64,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *SInt64IncorrectType) Reset() { + *x = SInt64IncorrectType{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SInt64IncorrectType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SInt64IncorrectType) ProtoMessage() {} + +func (x *SInt64IncorrectType) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[123] + 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 SInt64IncorrectType.ProtoReflect.Descriptor instead. +func (*SInt64IncorrectType) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{123} } -func (x *SInt64Ignore) GetVal() int64 { +func (x *SInt64IncorrectType) GetVal() int64 { if x != nil { return x.Val } return 0 } -type SInt64IncorrectType struct { +type SInt64Example struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -5490,23 +5960,23 @@ type SInt64IncorrectType struct { Val int64 `protobuf:"zigzag64,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *SInt64IncorrectType) Reset() { - *x = SInt64IncorrectType{} +func (x *SInt64Example) Reset() { + *x = SInt64Example{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[114] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SInt64IncorrectType) String() string { +func (x *SInt64Example) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SInt64IncorrectType) ProtoMessage() {} +func (*SInt64Example) ProtoMessage() {} -func (x *SInt64IncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[114] +func (x *SInt64Example) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5517,12 +5987,12 @@ func (x *SInt64IncorrectType) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SInt64IncorrectType.ProtoReflect.Descriptor instead. -func (*SInt64IncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{114} +// Deprecated: Use SInt64Example.ProtoReflect.Descriptor instead. +func (*SInt64Example) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{124} } -func (x *SInt64IncorrectType) GetVal() int64 { +func (x *SInt64Example) GetVal() int64 { if x != nil { return x.Val } @@ -5540,7 +6010,7 @@ type Fixed32None struct { func (x *Fixed32None) Reset() { *x = Fixed32None{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[115] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5553,7 +6023,7 @@ func (x *Fixed32None) String() string { func (*Fixed32None) ProtoMessage() {} func (x *Fixed32None) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[115] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5566,7 +6036,7 @@ func (x *Fixed32None) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32None.ProtoReflect.Descriptor instead. func (*Fixed32None) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{115} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{125} } func (x *Fixed32None) GetVal() uint32 { @@ -5587,7 +6057,7 @@ type Fixed32Const struct { func (x *Fixed32Const) Reset() { *x = Fixed32Const{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[116] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5600,7 +6070,7 @@ func (x *Fixed32Const) String() string { func (*Fixed32Const) ProtoMessage() {} func (x *Fixed32Const) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[116] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5613,7 +6083,7 @@ func (x *Fixed32Const) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32Const.ProtoReflect.Descriptor instead. func (*Fixed32Const) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{116} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{126} } func (x *Fixed32Const) GetVal() uint32 { @@ -5634,7 +6104,7 @@ type Fixed32In struct { func (x *Fixed32In) Reset() { *x = Fixed32In{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[117] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5647,7 +6117,7 @@ func (x *Fixed32In) String() string { func (*Fixed32In) ProtoMessage() {} func (x *Fixed32In) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[117] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5660,7 +6130,7 @@ func (x *Fixed32In) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32In.ProtoReflect.Descriptor instead. func (*Fixed32In) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{117} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{127} } func (x *Fixed32In) GetVal() uint32 { @@ -5681,7 +6151,7 @@ type Fixed32NotIn struct { func (x *Fixed32NotIn) Reset() { *x = Fixed32NotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[118] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5694,7 +6164,7 @@ func (x *Fixed32NotIn) String() string { func (*Fixed32NotIn) ProtoMessage() {} func (x *Fixed32NotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[118] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5707,7 +6177,7 @@ func (x *Fixed32NotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32NotIn.ProtoReflect.Descriptor instead. func (*Fixed32NotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{118} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{128} } func (x *Fixed32NotIn) GetVal() uint32 { @@ -5728,7 +6198,7 @@ type Fixed32LT struct { func (x *Fixed32LT) Reset() { *x = Fixed32LT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[119] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5741,7 +6211,7 @@ func (x *Fixed32LT) String() string { func (*Fixed32LT) ProtoMessage() {} func (x *Fixed32LT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[119] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5754,7 +6224,7 @@ func (x *Fixed32LT) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32LT.ProtoReflect.Descriptor instead. func (*Fixed32LT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{119} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{129} } func (x *Fixed32LT) GetVal() uint32 { @@ -5775,7 +6245,7 @@ type Fixed32LTE struct { func (x *Fixed32LTE) Reset() { *x = Fixed32LTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[120] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5788,7 +6258,7 @@ func (x *Fixed32LTE) String() string { func (*Fixed32LTE) ProtoMessage() {} func (x *Fixed32LTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[120] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5801,7 +6271,7 @@ func (x *Fixed32LTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32LTE.ProtoReflect.Descriptor instead. func (*Fixed32LTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{120} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{130} } func (x *Fixed32LTE) GetVal() uint32 { @@ -5822,7 +6292,7 @@ type Fixed32GT struct { func (x *Fixed32GT) Reset() { *x = Fixed32GT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[121] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5835,7 +6305,7 @@ func (x *Fixed32GT) String() string { func (*Fixed32GT) ProtoMessage() {} func (x *Fixed32GT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[121] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5848,7 +6318,7 @@ func (x *Fixed32GT) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32GT.ProtoReflect.Descriptor instead. func (*Fixed32GT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{121} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{131} } func (x *Fixed32GT) GetVal() uint32 { @@ -5869,7 +6339,7 @@ type Fixed32GTE struct { func (x *Fixed32GTE) Reset() { *x = Fixed32GTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[122] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5882,7 +6352,7 @@ func (x *Fixed32GTE) String() string { func (*Fixed32GTE) ProtoMessage() {} func (x *Fixed32GTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[122] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5895,7 +6365,7 @@ func (x *Fixed32GTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32GTE.ProtoReflect.Descriptor instead. func (*Fixed32GTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{122} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{132} } func (x *Fixed32GTE) GetVal() uint32 { @@ -5916,7 +6386,7 @@ type Fixed32GTLT struct { func (x *Fixed32GTLT) Reset() { *x = Fixed32GTLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[123] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5929,7 +6399,7 @@ func (x *Fixed32GTLT) String() string { func (*Fixed32GTLT) ProtoMessage() {} func (x *Fixed32GTLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[123] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5942,7 +6412,7 @@ func (x *Fixed32GTLT) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32GTLT.ProtoReflect.Descriptor instead. func (*Fixed32GTLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{123} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{133} } func (x *Fixed32GTLT) GetVal() uint32 { @@ -5963,7 +6433,7 @@ type Fixed32ExLTGT struct { func (x *Fixed32ExLTGT) Reset() { *x = Fixed32ExLTGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[124] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5976,7 +6446,7 @@ func (x *Fixed32ExLTGT) String() string { func (*Fixed32ExLTGT) ProtoMessage() {} func (x *Fixed32ExLTGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[124] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5989,7 +6459,7 @@ func (x *Fixed32ExLTGT) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32ExLTGT.ProtoReflect.Descriptor instead. func (*Fixed32ExLTGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{124} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{134} } func (x *Fixed32ExLTGT) GetVal() uint32 { @@ -6010,7 +6480,7 @@ type Fixed32GTELTE struct { func (x *Fixed32GTELTE) Reset() { *x = Fixed32GTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[125] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6023,7 +6493,7 @@ func (x *Fixed32GTELTE) String() string { func (*Fixed32GTELTE) ProtoMessage() {} func (x *Fixed32GTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[125] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6036,7 +6506,7 @@ func (x *Fixed32GTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32GTELTE.ProtoReflect.Descriptor instead. func (*Fixed32GTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{125} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{135} } func (x *Fixed32GTELTE) GetVal() uint32 { @@ -6057,7 +6527,7 @@ type Fixed32ExGTELTE struct { func (x *Fixed32ExGTELTE) Reset() { *x = Fixed32ExGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[126] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6070,7 +6540,7 @@ func (x *Fixed32ExGTELTE) String() string { func (*Fixed32ExGTELTE) ProtoMessage() {} func (x *Fixed32ExGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[126] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6083,7 +6553,7 @@ func (x *Fixed32ExGTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32ExGTELTE.ProtoReflect.Descriptor instead. func (*Fixed32ExGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{126} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{136} } func (x *Fixed32ExGTELTE) GetVal() uint32 { @@ -6104,7 +6574,7 @@ type Fixed32Ignore struct { func (x *Fixed32Ignore) Reset() { *x = Fixed32Ignore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[127] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6117,7 +6587,7 @@ func (x *Fixed32Ignore) String() string { func (*Fixed32Ignore) ProtoMessage() {} func (x *Fixed32Ignore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[127] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6130,7 +6600,7 @@ func (x *Fixed32Ignore) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32Ignore.ProtoReflect.Descriptor instead. func (*Fixed32Ignore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{127} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{137} } func (x *Fixed32Ignore) GetVal() uint32 { @@ -6151,7 +6621,7 @@ type Fixed32IncorrectType struct { func (x *Fixed32IncorrectType) Reset() { *x = Fixed32IncorrectType{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[128] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6164,7 +6634,7 @@ func (x *Fixed32IncorrectType) String() string { func (*Fixed32IncorrectType) ProtoMessage() {} func (x *Fixed32IncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[128] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6177,7 +6647,7 @@ func (x *Fixed32IncorrectType) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32IncorrectType.ProtoReflect.Descriptor instead. func (*Fixed32IncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{128} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{138} } func (x *Fixed32IncorrectType) GetVal() uint32 { @@ -6187,6 +6657,53 @@ func (x *Fixed32IncorrectType) GetVal() uint32 { return 0 } +type Fixed32Example struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val uint32 `protobuf:"fixed32,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *Fixed32Example) Reset() { + *x = Fixed32Example{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Fixed32Example) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Fixed32Example) ProtoMessage() {} + +func (x *Fixed32Example) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[139] + 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 Fixed32Example.ProtoReflect.Descriptor instead. +func (*Fixed32Example) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{139} +} + +func (x *Fixed32Example) GetVal() uint32 { + if x != nil { + return x.Val + } + return 0 +} + type Fixed64None struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6198,7 +6715,7 @@ type Fixed64None struct { func (x *Fixed64None) Reset() { *x = Fixed64None{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[129] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6211,7 +6728,7 @@ func (x *Fixed64None) String() string { func (*Fixed64None) ProtoMessage() {} func (x *Fixed64None) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[129] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6224,7 +6741,7 @@ func (x *Fixed64None) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64None.ProtoReflect.Descriptor instead. func (*Fixed64None) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{129} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{140} } func (x *Fixed64None) GetVal() uint64 { @@ -6245,7 +6762,7 @@ type Fixed64Const struct { func (x *Fixed64Const) Reset() { *x = Fixed64Const{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[130] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6258,7 +6775,7 @@ func (x *Fixed64Const) String() string { func (*Fixed64Const) ProtoMessage() {} func (x *Fixed64Const) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[130] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6271,7 +6788,7 @@ func (x *Fixed64Const) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64Const.ProtoReflect.Descriptor instead. func (*Fixed64Const) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{130} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{141} } func (x *Fixed64Const) GetVal() uint64 { @@ -6292,7 +6809,7 @@ type Fixed64In struct { func (x *Fixed64In) Reset() { *x = Fixed64In{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[131] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6305,7 +6822,7 @@ func (x *Fixed64In) String() string { func (*Fixed64In) ProtoMessage() {} func (x *Fixed64In) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[131] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6318,7 +6835,7 @@ func (x *Fixed64In) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64In.ProtoReflect.Descriptor instead. func (*Fixed64In) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{131} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{142} } func (x *Fixed64In) GetVal() uint64 { @@ -6339,7 +6856,7 @@ type Fixed64NotIn struct { func (x *Fixed64NotIn) Reset() { *x = Fixed64NotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[132] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6352,7 +6869,7 @@ func (x *Fixed64NotIn) String() string { func (*Fixed64NotIn) ProtoMessage() {} func (x *Fixed64NotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[132] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6365,7 +6882,7 @@ func (x *Fixed64NotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64NotIn.ProtoReflect.Descriptor instead. func (*Fixed64NotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{132} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{143} } func (x *Fixed64NotIn) GetVal() uint64 { @@ -6386,7 +6903,7 @@ type Fixed64LT struct { func (x *Fixed64LT) Reset() { *x = Fixed64LT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[133] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6399,7 +6916,7 @@ func (x *Fixed64LT) String() string { func (*Fixed64LT) ProtoMessage() {} func (x *Fixed64LT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[133] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6412,7 +6929,7 @@ func (x *Fixed64LT) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64LT.ProtoReflect.Descriptor instead. func (*Fixed64LT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{133} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{144} } func (x *Fixed64LT) GetVal() uint64 { @@ -6433,7 +6950,7 @@ type Fixed64LTE struct { func (x *Fixed64LTE) Reset() { *x = Fixed64LTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[134] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6446,7 +6963,7 @@ func (x *Fixed64LTE) String() string { func (*Fixed64LTE) ProtoMessage() {} func (x *Fixed64LTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[134] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6459,7 +6976,7 @@ func (x *Fixed64LTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64LTE.ProtoReflect.Descriptor instead. func (*Fixed64LTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{134} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{145} } func (x *Fixed64LTE) GetVal() uint64 { @@ -6480,7 +6997,7 @@ type Fixed64GT struct { func (x *Fixed64GT) Reset() { *x = Fixed64GT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[135] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6493,7 +7010,7 @@ func (x *Fixed64GT) String() string { func (*Fixed64GT) ProtoMessage() {} func (x *Fixed64GT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[135] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6506,7 +7023,7 @@ func (x *Fixed64GT) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64GT.ProtoReflect.Descriptor instead. func (*Fixed64GT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{135} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{146} } func (x *Fixed64GT) GetVal() uint64 { @@ -6527,7 +7044,7 @@ type Fixed64GTE struct { func (x *Fixed64GTE) Reset() { *x = Fixed64GTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[136] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6540,7 +7057,7 @@ func (x *Fixed64GTE) String() string { func (*Fixed64GTE) ProtoMessage() {} func (x *Fixed64GTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[136] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6553,7 +7070,7 @@ func (x *Fixed64GTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64GTE.ProtoReflect.Descriptor instead. func (*Fixed64GTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{136} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{147} } func (x *Fixed64GTE) GetVal() uint64 { @@ -6574,7 +7091,7 @@ type Fixed64GTLT struct { func (x *Fixed64GTLT) Reset() { *x = Fixed64GTLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[137] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6587,7 +7104,7 @@ func (x *Fixed64GTLT) String() string { func (*Fixed64GTLT) ProtoMessage() {} func (x *Fixed64GTLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[137] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6600,7 +7117,7 @@ func (x *Fixed64GTLT) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64GTLT.ProtoReflect.Descriptor instead. func (*Fixed64GTLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{137} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{148} } func (x *Fixed64GTLT) GetVal() uint64 { @@ -6621,7 +7138,7 @@ type Fixed64ExLTGT struct { func (x *Fixed64ExLTGT) Reset() { *x = Fixed64ExLTGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[138] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6634,7 +7151,7 @@ func (x *Fixed64ExLTGT) String() string { func (*Fixed64ExLTGT) ProtoMessage() {} func (x *Fixed64ExLTGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[138] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6647,7 +7164,7 @@ func (x *Fixed64ExLTGT) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64ExLTGT.ProtoReflect.Descriptor instead. func (*Fixed64ExLTGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{138} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{149} } func (x *Fixed64ExLTGT) GetVal() uint64 { @@ -6668,7 +7185,7 @@ type Fixed64GTELTE struct { func (x *Fixed64GTELTE) Reset() { *x = Fixed64GTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[139] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6681,7 +7198,7 @@ func (x *Fixed64GTELTE) String() string { func (*Fixed64GTELTE) ProtoMessage() {} func (x *Fixed64GTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[139] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6694,7 +7211,7 @@ func (x *Fixed64GTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64GTELTE.ProtoReflect.Descriptor instead. func (*Fixed64GTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{139} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{150} } func (x *Fixed64GTELTE) GetVal() uint64 { @@ -6715,7 +7232,7 @@ type Fixed64ExGTELTE struct { func (x *Fixed64ExGTELTE) Reset() { *x = Fixed64ExGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[140] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6728,7 +7245,54 @@ func (x *Fixed64ExGTELTE) String() string { func (*Fixed64ExGTELTE) ProtoMessage() {} func (x *Fixed64ExGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[140] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[151] + 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 Fixed64ExGTELTE.ProtoReflect.Descriptor instead. +func (*Fixed64ExGTELTE) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{151} +} + +func (x *Fixed64ExGTELTE) GetVal() uint64 { + if x != nil { + return x.Val + } + return 0 +} + +type Fixed64Ignore struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val uint64 `protobuf:"fixed64,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *Fixed64Ignore) Reset() { + *x = Fixed64Ignore{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[152] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Fixed64Ignore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Fixed64Ignore) ProtoMessage() {} + +func (x *Fixed64Ignore) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6739,19 +7303,19 @@ func (x *Fixed64ExGTELTE) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Fixed64ExGTELTE.ProtoReflect.Descriptor instead. -func (*Fixed64ExGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{140} +// Deprecated: Use Fixed64Ignore.ProtoReflect.Descriptor instead. +func (*Fixed64Ignore) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{152} } -func (x *Fixed64ExGTELTE) GetVal() uint64 { +func (x *Fixed64Ignore) GetVal() uint64 { if x != nil { return x.Val } return 0 } -type Fixed64Ignore struct { +type Fixed64IncorrectType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -6759,23 +7323,23 @@ type Fixed64Ignore struct { Val uint64 `protobuf:"fixed64,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *Fixed64Ignore) Reset() { - *x = Fixed64Ignore{} +func (x *Fixed64IncorrectType) Reset() { + *x = Fixed64IncorrectType{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[141] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Fixed64Ignore) String() string { +func (x *Fixed64IncorrectType) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Fixed64Ignore) ProtoMessage() {} +func (*Fixed64IncorrectType) ProtoMessage() {} -func (x *Fixed64Ignore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[141] +func (x *Fixed64IncorrectType) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6786,19 +7350,19 @@ func (x *Fixed64Ignore) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Fixed64Ignore.ProtoReflect.Descriptor instead. -func (*Fixed64Ignore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{141} +// Deprecated: Use Fixed64IncorrectType.ProtoReflect.Descriptor instead. +func (*Fixed64IncorrectType) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{153} } -func (x *Fixed64Ignore) GetVal() uint64 { +func (x *Fixed64IncorrectType) GetVal() uint64 { if x != nil { return x.Val } return 0 } -type Fixed64IncorrectType struct { +type Fixed64Example struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -6806,23 +7370,23 @@ type Fixed64IncorrectType struct { Val uint64 `protobuf:"fixed64,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *Fixed64IncorrectType) Reset() { - *x = Fixed64IncorrectType{} +func (x *Fixed64Example) Reset() { + *x = Fixed64Example{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[142] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Fixed64IncorrectType) String() string { +func (x *Fixed64Example) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Fixed64IncorrectType) ProtoMessage() {} +func (*Fixed64Example) ProtoMessage() {} -func (x *Fixed64IncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[142] +func (x *Fixed64Example) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6833,12 +7397,12 @@ func (x *Fixed64IncorrectType) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Fixed64IncorrectType.ProtoReflect.Descriptor instead. -func (*Fixed64IncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{142} +// Deprecated: Use Fixed64Example.ProtoReflect.Descriptor instead. +func (*Fixed64Example) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{154} } -func (x *Fixed64IncorrectType) GetVal() uint64 { +func (x *Fixed64Example) GetVal() uint64 { if x != nil { return x.Val } @@ -6856,7 +7420,7 @@ type SFixed32None struct { func (x *SFixed32None) Reset() { *x = SFixed32None{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[143] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6869,7 +7433,7 @@ func (x *SFixed32None) String() string { func (*SFixed32None) ProtoMessage() {} func (x *SFixed32None) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[143] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6882,7 +7446,7 @@ func (x *SFixed32None) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32None.ProtoReflect.Descriptor instead. func (*SFixed32None) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{143} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{155} } func (x *SFixed32None) GetVal() int32 { @@ -6903,7 +7467,7 @@ type SFixed32Const struct { func (x *SFixed32Const) Reset() { *x = SFixed32Const{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[144] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6916,7 +7480,7 @@ func (x *SFixed32Const) String() string { func (*SFixed32Const) ProtoMessage() {} func (x *SFixed32Const) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[144] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6929,7 +7493,7 @@ func (x *SFixed32Const) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32Const.ProtoReflect.Descriptor instead. func (*SFixed32Const) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{144} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{156} } func (x *SFixed32Const) GetVal() int32 { @@ -6950,7 +7514,7 @@ type SFixed32In struct { func (x *SFixed32In) Reset() { *x = SFixed32In{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[145] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6963,7 +7527,7 @@ func (x *SFixed32In) String() string { func (*SFixed32In) ProtoMessage() {} func (x *SFixed32In) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[145] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6976,7 +7540,7 @@ func (x *SFixed32In) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32In.ProtoReflect.Descriptor instead. func (*SFixed32In) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{145} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{157} } func (x *SFixed32In) GetVal() int32 { @@ -6997,7 +7561,7 @@ type SFixed32NotIn struct { func (x *SFixed32NotIn) Reset() { *x = SFixed32NotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[146] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7010,7 +7574,7 @@ func (x *SFixed32NotIn) String() string { func (*SFixed32NotIn) ProtoMessage() {} func (x *SFixed32NotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[146] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7023,7 +7587,7 @@ func (x *SFixed32NotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32NotIn.ProtoReflect.Descriptor instead. func (*SFixed32NotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{146} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{158} } func (x *SFixed32NotIn) GetVal() int32 { @@ -7044,7 +7608,7 @@ type SFixed32LT struct { func (x *SFixed32LT) Reset() { *x = SFixed32LT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[147] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7057,7 +7621,7 @@ func (x *SFixed32LT) String() string { func (*SFixed32LT) ProtoMessage() {} func (x *SFixed32LT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[147] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7070,7 +7634,7 @@ func (x *SFixed32LT) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32LT.ProtoReflect.Descriptor instead. func (*SFixed32LT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{147} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{159} } func (x *SFixed32LT) GetVal() int32 { @@ -7091,7 +7655,7 @@ type SFixed32LTE struct { func (x *SFixed32LTE) Reset() { *x = SFixed32LTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[148] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7104,7 +7668,7 @@ func (x *SFixed32LTE) String() string { func (*SFixed32LTE) ProtoMessage() {} func (x *SFixed32LTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[148] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7117,7 +7681,7 @@ func (x *SFixed32LTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32LTE.ProtoReflect.Descriptor instead. func (*SFixed32LTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{148} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{160} } func (x *SFixed32LTE) GetVal() int32 { @@ -7138,7 +7702,7 @@ type SFixed32GT struct { func (x *SFixed32GT) Reset() { *x = SFixed32GT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[149] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7151,7 +7715,7 @@ func (x *SFixed32GT) String() string { func (*SFixed32GT) ProtoMessage() {} func (x *SFixed32GT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[149] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7164,7 +7728,7 @@ func (x *SFixed32GT) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32GT.ProtoReflect.Descriptor instead. func (*SFixed32GT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{149} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{161} } func (x *SFixed32GT) GetVal() int32 { @@ -7185,7 +7749,7 @@ type SFixed32GTE struct { func (x *SFixed32GTE) Reset() { *x = SFixed32GTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[150] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7198,7 +7762,7 @@ func (x *SFixed32GTE) String() string { func (*SFixed32GTE) ProtoMessage() {} func (x *SFixed32GTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[150] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7211,7 +7775,7 @@ func (x *SFixed32GTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32GTE.ProtoReflect.Descriptor instead. func (*SFixed32GTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{150} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{162} } func (x *SFixed32GTE) GetVal() int32 { @@ -7232,7 +7796,7 @@ type SFixed32GTLT struct { func (x *SFixed32GTLT) Reset() { *x = SFixed32GTLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[151] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7245,7 +7809,7 @@ func (x *SFixed32GTLT) String() string { func (*SFixed32GTLT) ProtoMessage() {} func (x *SFixed32GTLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[151] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7258,7 +7822,7 @@ func (x *SFixed32GTLT) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32GTLT.ProtoReflect.Descriptor instead. func (*SFixed32GTLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{151} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{163} } func (x *SFixed32GTLT) GetVal() int32 { @@ -7279,7 +7843,7 @@ type SFixed32ExLTGT struct { func (x *SFixed32ExLTGT) Reset() { *x = SFixed32ExLTGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[152] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7292,7 +7856,7 @@ func (x *SFixed32ExLTGT) String() string { func (*SFixed32ExLTGT) ProtoMessage() {} func (x *SFixed32ExLTGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[152] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7305,7 +7869,7 @@ func (x *SFixed32ExLTGT) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32ExLTGT.ProtoReflect.Descriptor instead. func (*SFixed32ExLTGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{152} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{164} } func (x *SFixed32ExLTGT) GetVal() int32 { @@ -7326,7 +7890,7 @@ type SFixed32GTELTE struct { func (x *SFixed32GTELTE) Reset() { *x = SFixed32GTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[153] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7339,7 +7903,7 @@ func (x *SFixed32GTELTE) String() string { func (*SFixed32GTELTE) ProtoMessage() {} func (x *SFixed32GTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[153] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7352,7 +7916,7 @@ func (x *SFixed32GTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32GTELTE.ProtoReflect.Descriptor instead. func (*SFixed32GTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{153} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{165} } func (x *SFixed32GTELTE) GetVal() int32 { @@ -7373,7 +7937,7 @@ type SFixed32ExGTELTE struct { func (x *SFixed32ExGTELTE) Reset() { *x = SFixed32ExGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[154] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7386,7 +7950,7 @@ func (x *SFixed32ExGTELTE) String() string { func (*SFixed32ExGTELTE) ProtoMessage() {} func (x *SFixed32ExGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[154] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7399,7 +7963,7 @@ func (x *SFixed32ExGTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32ExGTELTE.ProtoReflect.Descriptor instead. func (*SFixed32ExGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{154} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{166} } func (x *SFixed32ExGTELTE) GetVal() int32 { @@ -7420,7 +7984,7 @@ type SFixed32Ignore struct { func (x *SFixed32Ignore) Reset() { *x = SFixed32Ignore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[155] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7433,7 +7997,7 @@ func (x *SFixed32Ignore) String() string { func (*SFixed32Ignore) ProtoMessage() {} func (x *SFixed32Ignore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[155] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7446,7 +8010,7 @@ func (x *SFixed32Ignore) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32Ignore.ProtoReflect.Descriptor instead. func (*SFixed32Ignore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{155} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{167} } func (x *SFixed32Ignore) GetVal() int32 { @@ -7467,7 +8031,7 @@ type SFixed32IncorrectType struct { func (x *SFixed32IncorrectType) Reset() { *x = SFixed32IncorrectType{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[156] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7480,7 +8044,7 @@ func (x *SFixed32IncorrectType) String() string { func (*SFixed32IncorrectType) ProtoMessage() {} func (x *SFixed32IncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[156] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7493,7 +8057,7 @@ func (x *SFixed32IncorrectType) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32IncorrectType.ProtoReflect.Descriptor instead. func (*SFixed32IncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{156} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{168} } func (x *SFixed32IncorrectType) GetVal() int32 { @@ -7503,6 +8067,53 @@ func (x *SFixed32IncorrectType) GetVal() int32 { return 0 } +type SFixed32Example struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int32 `protobuf:"fixed32,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *SFixed32Example) Reset() { + *x = SFixed32Example{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[169] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SFixed32Example) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SFixed32Example) ProtoMessage() {} + +func (x *SFixed32Example) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[169] + 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 SFixed32Example.ProtoReflect.Descriptor instead. +func (*SFixed32Example) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{169} +} + +func (x *SFixed32Example) GetVal() int32 { + if x != nil { + return x.Val + } + return 0 +} + type SFixed64None struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -7514,7 +8125,7 @@ type SFixed64None struct { func (x *SFixed64None) Reset() { *x = SFixed64None{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[157] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7527,7 +8138,7 @@ func (x *SFixed64None) String() string { func (*SFixed64None) ProtoMessage() {} func (x *SFixed64None) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[157] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7540,7 +8151,7 @@ func (x *SFixed64None) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64None.ProtoReflect.Descriptor instead. func (*SFixed64None) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{157} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{170} } func (x *SFixed64None) GetVal() int64 { @@ -7561,7 +8172,7 @@ type SFixed64Const struct { func (x *SFixed64Const) Reset() { *x = SFixed64Const{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[158] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7574,7 +8185,7 @@ func (x *SFixed64Const) String() string { func (*SFixed64Const) ProtoMessage() {} func (x *SFixed64Const) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[158] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7587,7 +8198,7 @@ func (x *SFixed64Const) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64Const.ProtoReflect.Descriptor instead. func (*SFixed64Const) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{158} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{171} } func (x *SFixed64Const) GetVal() int64 { @@ -7608,7 +8219,7 @@ type SFixed64In struct { func (x *SFixed64In) Reset() { *x = SFixed64In{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[159] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7621,7 +8232,7 @@ func (x *SFixed64In) String() string { func (*SFixed64In) ProtoMessage() {} func (x *SFixed64In) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[159] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7634,7 +8245,7 @@ func (x *SFixed64In) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64In.ProtoReflect.Descriptor instead. func (*SFixed64In) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{159} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{172} } func (x *SFixed64In) GetVal() int64 { @@ -7655,7 +8266,7 @@ type SFixed64NotIn struct { func (x *SFixed64NotIn) Reset() { *x = SFixed64NotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[160] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7668,7 +8279,7 @@ func (x *SFixed64NotIn) String() string { func (*SFixed64NotIn) ProtoMessage() {} func (x *SFixed64NotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[160] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7681,7 +8292,7 @@ func (x *SFixed64NotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64NotIn.ProtoReflect.Descriptor instead. func (*SFixed64NotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{160} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{173} } func (x *SFixed64NotIn) GetVal() int64 { @@ -7702,7 +8313,7 @@ type SFixed64LT struct { func (x *SFixed64LT) Reset() { *x = SFixed64LT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[161] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7715,7 +8326,7 @@ func (x *SFixed64LT) String() string { func (*SFixed64LT) ProtoMessage() {} func (x *SFixed64LT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[161] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7728,7 +8339,7 @@ func (x *SFixed64LT) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64LT.ProtoReflect.Descriptor instead. func (*SFixed64LT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{161} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{174} } func (x *SFixed64LT) GetVal() int64 { @@ -7749,7 +8360,7 @@ type SFixed64LTE struct { func (x *SFixed64LTE) Reset() { *x = SFixed64LTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[162] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7762,7 +8373,7 @@ func (x *SFixed64LTE) String() string { func (*SFixed64LTE) ProtoMessage() {} func (x *SFixed64LTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[162] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7775,7 +8386,7 @@ func (x *SFixed64LTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64LTE.ProtoReflect.Descriptor instead. func (*SFixed64LTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{162} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{175} } func (x *SFixed64LTE) GetVal() int64 { @@ -7796,7 +8407,7 @@ type SFixed64GT struct { func (x *SFixed64GT) Reset() { *x = SFixed64GT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[163] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7809,7 +8420,7 @@ func (x *SFixed64GT) String() string { func (*SFixed64GT) ProtoMessage() {} func (x *SFixed64GT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[163] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7822,7 +8433,7 @@ func (x *SFixed64GT) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64GT.ProtoReflect.Descriptor instead. func (*SFixed64GT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{163} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{176} } func (x *SFixed64GT) GetVal() int64 { @@ -7843,7 +8454,7 @@ type SFixed64GTE struct { func (x *SFixed64GTE) Reset() { *x = SFixed64GTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[164] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7856,7 +8467,7 @@ func (x *SFixed64GTE) String() string { func (*SFixed64GTE) ProtoMessage() {} func (x *SFixed64GTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[164] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7869,7 +8480,7 @@ func (x *SFixed64GTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64GTE.ProtoReflect.Descriptor instead. func (*SFixed64GTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{164} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{177} } func (x *SFixed64GTE) GetVal() int64 { @@ -7890,7 +8501,7 @@ type SFixed64GTLT struct { func (x *SFixed64GTLT) Reset() { *x = SFixed64GTLT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[165] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7903,7 +8514,7 @@ func (x *SFixed64GTLT) String() string { func (*SFixed64GTLT) ProtoMessage() {} func (x *SFixed64GTLT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[165] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7916,7 +8527,7 @@ func (x *SFixed64GTLT) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64GTLT.ProtoReflect.Descriptor instead. func (*SFixed64GTLT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{165} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{178} } func (x *SFixed64GTLT) GetVal() int64 { @@ -7937,7 +8548,7 @@ type SFixed64ExLTGT struct { func (x *SFixed64ExLTGT) Reset() { *x = SFixed64ExLTGT{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[166] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7950,7 +8561,7 @@ func (x *SFixed64ExLTGT) String() string { func (*SFixed64ExLTGT) ProtoMessage() {} func (x *SFixed64ExLTGT) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[166] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7963,7 +8574,7 @@ func (x *SFixed64ExLTGT) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64ExLTGT.ProtoReflect.Descriptor instead. func (*SFixed64ExLTGT) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{166} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{179} } func (x *SFixed64ExLTGT) GetVal() int64 { @@ -7984,7 +8595,7 @@ type SFixed64GTELTE struct { func (x *SFixed64GTELTE) Reset() { *x = SFixed64GTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[167] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7997,7 +8608,7 @@ func (x *SFixed64GTELTE) String() string { func (*SFixed64GTELTE) ProtoMessage() {} func (x *SFixed64GTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[167] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8010,7 +8621,7 @@ func (x *SFixed64GTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64GTELTE.ProtoReflect.Descriptor instead. func (*SFixed64GTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{167} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{180} } func (x *SFixed64GTELTE) GetVal() int64 { @@ -8031,7 +8642,7 @@ type SFixed64ExGTELTE struct { func (x *SFixed64ExGTELTE) Reset() { *x = SFixed64ExGTELTE{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[168] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8044,7 +8655,7 @@ func (x *SFixed64ExGTELTE) String() string { func (*SFixed64ExGTELTE) ProtoMessage() {} func (x *SFixed64ExGTELTE) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[168] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8057,7 +8668,7 @@ func (x *SFixed64ExGTELTE) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64ExGTELTE.ProtoReflect.Descriptor instead. func (*SFixed64ExGTELTE) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{168} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{181} } func (x *SFixed64ExGTELTE) GetVal() int64 { @@ -8067,7 +8678,54 @@ func (x *SFixed64ExGTELTE) GetVal() int64 { return 0 } -type SFixed64Ignore struct { +type SFixed64Ignore struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int64 `protobuf:"fixed64,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *SFixed64Ignore) Reset() { + *x = SFixed64Ignore{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[182] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SFixed64Ignore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SFixed64Ignore) ProtoMessage() {} + +func (x *SFixed64Ignore) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[182] + 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 SFixed64Ignore.ProtoReflect.Descriptor instead. +func (*SFixed64Ignore) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{182} +} + +func (x *SFixed64Ignore) GetVal() int64 { + if x != nil { + return x.Val + } + return 0 +} + +type SFixed64IncorrectType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -8075,23 +8733,23 @@ type SFixed64Ignore struct { Val int64 `protobuf:"fixed64,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *SFixed64Ignore) Reset() { - *x = SFixed64Ignore{} +func (x *SFixed64IncorrectType) Reset() { + *x = SFixed64IncorrectType{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[169] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SFixed64Ignore) String() string { +func (x *SFixed64IncorrectType) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SFixed64Ignore) ProtoMessage() {} +func (*SFixed64IncorrectType) ProtoMessage() {} -func (x *SFixed64Ignore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[169] +func (x *SFixed64IncorrectType) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8102,19 +8760,19 @@ func (x *SFixed64Ignore) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SFixed64Ignore.ProtoReflect.Descriptor instead. -func (*SFixed64Ignore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{169} +// Deprecated: Use SFixed64IncorrectType.ProtoReflect.Descriptor instead. +func (*SFixed64IncorrectType) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{183} } -func (x *SFixed64Ignore) GetVal() int64 { +func (x *SFixed64IncorrectType) GetVal() int64 { if x != nil { return x.Val } return 0 } -type SFixed64IncorrectType struct { +type SFixed64Example struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -8122,23 +8780,23 @@ type SFixed64IncorrectType struct { Val int64 `protobuf:"fixed64,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *SFixed64IncorrectType) Reset() { - *x = SFixed64IncorrectType{} +func (x *SFixed64Example) Reset() { + *x = SFixed64Example{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[170] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SFixed64IncorrectType) String() string { +func (x *SFixed64Example) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SFixed64IncorrectType) ProtoMessage() {} +func (*SFixed64Example) ProtoMessage() {} -func (x *SFixed64IncorrectType) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[170] +func (x *SFixed64Example) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8149,12 +8807,12 @@ func (x *SFixed64IncorrectType) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SFixed64IncorrectType.ProtoReflect.Descriptor instead. -func (*SFixed64IncorrectType) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{170} +// Deprecated: Use SFixed64Example.ProtoReflect.Descriptor instead. +func (*SFixed64Example) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{184} } -func (x *SFixed64IncorrectType) GetVal() int64 { +func (x *SFixed64Example) GetVal() int64 { if x != nil { return x.Val } @@ -8172,7 +8830,7 @@ type Int64LTEOptional struct { func (x *Int64LTEOptional) Reset() { *x = Int64LTEOptional{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[171] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8185,7 +8843,7 @@ func (x *Int64LTEOptional) String() string { func (*Int64LTEOptional) ProtoMessage() {} func (x *Int64LTEOptional) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[171] + mi := &file_buf_validate_conformance_cases_numbers_proto_msgTypes[185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8198,7 +8856,7 @@ func (x *Int64LTEOptional) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64LTEOptional.ProtoReflect.Descriptor instead. func (*Int64LTEOptional) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{171} + return file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP(), []int{185} } func (x *Int64LTEOptional) GetVal() int64 { @@ -8224,548 +8882,588 @@ var file_buf_validate_conformance_cases_numbers_proto_rawDesc = []byte{ 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x0d, 0xa4, 0x70, 0x9d, 0x3f, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0f, - 0xba, 0x48, 0x0c, 0x0a, 0x0a, 0x32, 0x08, 0x85, 0xeb, 0x91, 0x40, 0xe1, 0x7a, 0xfc, 0x40, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4e, 0x6f, 0x74, - 0x49, 0x6e, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, - 0x0b, 0xba, 0x48, 0x08, 0x0a, 0x06, 0x3a, 0x04, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x27, 0x0a, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4c, 0x54, 0x12, 0x1c, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, - 0x15, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x08, 0x46, 0x6c, - 0x6f, 0x61, 0x74, 0x4c, 0x54, 0x45, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x02, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x1d, 0x00, 0x00, 0x80, 0x42, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x47, 0x54, 0x12, - 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0a, 0xba, 0x48, - 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x80, 0x41, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, - 0x08, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x47, 0x54, 0x45, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x2d, 0x00, 0x00, - 0x00, 0x41, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x09, 0x46, 0x6c, 0x6f, 0x61, 0x74, - 0x47, 0x54, 0x4c, 0x54, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x02, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x0a, 0x0a, 0x15, 0x00, 0x00, 0x20, 0x41, 0x25, 0x00, 0x00, - 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x61, 0x74, - 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x02, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x0a, 0x0a, 0x15, 0x00, 0x00, 0x00, 0x00, 0x25, - 0x00, 0x00, 0x20, 0x41, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, - 0x61, 0x74, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x0a, 0x0a, 0x1d, 0x00, 0x00, 0x80, - 0x43, 0x2d, 0x00, 0x00, 0x00, 0x43, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x32, 0x0a, 0x0d, 0x46, - 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x21, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x0a, 0x0a, - 0x1d, 0x00, 0x00, 0x00, 0x43, 0x2d, 0x00, 0x00, 0x80, 0x43, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x28, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x12, 0x19, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x07, 0xba, 0x48, 0x04, - 0x0a, 0x02, 0x40, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, - 0x61, 0x74, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x12, 0xba, 0x48, 0x0f, 0xd0, 0x01, 0x01, 0x0a, 0x0a, 0x1d, - 0x00, 0x00, 0x80, 0x43, 0x2d, 0x00, 0x00, 0x00, 0x43, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x36, - 0x0a, 0x12, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x02, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x12, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x0a, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x01, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x12, 0x09, 0x09, 0xae, 0x47, 0xe1, 0x7a, 0x14, 0xae, - 0xf3, 0x3f, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x35, 0x0a, 0x08, 0x44, 0x6f, 0x75, 0x62, 0x6c, - 0x65, 0x49, 0x6e, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, - 0x42, 0x17, 0xba, 0x48, 0x14, 0x12, 0x12, 0x32, 0x10, 0x3d, 0x0a, 0xd7, 0xa3, 0x70, 0x3d, 0x12, - 0x40, 0x8f, 0xc2, 0xf5, 0x28, 0x5c, 0x8f, 0x1f, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, - 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x12, - 0x0a, 0x3a, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x2c, 0x0a, 0x08, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, 0x54, 0x12, 0x20, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x12, 0x09, - 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, - 0x0a, 0x09, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, 0x54, 0x45, 0x12, 0x20, 0x0a, 0x03, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x12, 0x09, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, - 0x08, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x47, 0x54, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x12, 0x09, 0x21, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x09, 0x44, - 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x47, 0x54, 0x45, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x20, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x37, 0x0a, 0x0a, 0x44, 0x6f, - 0x75, 0x62, 0x6c, 0x65, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xba, 0x48, 0x14, 0x12, 0x12, 0x11, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x24, 0x40, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, - 0x76, 0x61, 0x6c, 0x22, 0x39, 0x0a, 0x0c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x4c, - 0x54, 0x47, 0x54, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, - 0x42, 0x17, 0xba, 0x48, 0x14, 0x12, 0x12, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x39, - 0x0a, 0x0c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x29, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xba, 0x48, 0x14, - 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x60, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3b, 0x0a, 0x0e, 0x44, 0x6f, 0x75, - 0x62, 0x6c, 0x65, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x29, 0x0a, 0x03, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xba, 0x48, 0x14, 0x12, 0x12, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, - 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x46, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x01, 0x42, 0x07, 0xba, 0x48, 0x04, 0x12, 0x02, 0x40, 0x01, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x3c, 0x0a, 0x0c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x49, 0x67, 0x6e, 0x6f, 0x72, - 0x65, 0x12, 0x2c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x1a, - 0xba, 0x48, 0x17, 0xd0, 0x01, 0x01, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, - 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x33, 0x0a, 0x13, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, - 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x01, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1d, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x6f, 0x6e, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, - 0xba, 0x48, 0x04, 0x1a, 0x02, 0x08, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x07, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x09, 0xba, 0x48, 0x06, 0x1a, 0x04, 0x32, 0x02, 0x02, 0x03, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x6f, 0x74, - 0x49, 0x6e, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, - 0x08, 0xba, 0x48, 0x05, 0x1a, 0x03, 0x3a, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x24, - 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x10, 0x00, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x54, 0x45, - 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, - 0x48, 0x04, 0x1a, 0x02, 0x18, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x24, 0x0a, 0x07, 0x49, - 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x20, 0x10, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x45, 0x12, 0x19, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, - 0x02, 0x28, 0x08, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x42, 0x09, 0xba, 0x48, 0x06, 0x1a, 0x04, 0x10, 0x0a, 0x20, 0x00, 0x52, 0x03, 0x76, - 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x4c, 0x54, 0x47, - 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x09, - 0xba, 0x48, 0x06, 0x1a, 0x04, 0x10, 0x00, 0x20, 0x0a, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2c, - 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x1a, - 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0d, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x1a, - 0x06, 0x18, 0x80, 0x01, 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0b, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0xd0, 0x01, 0x01, - 0x1a, 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x32, 0x0a, - 0x12, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, + 0xba, 0x48, 0x0c, 0x0a, 0x0a, 0x35, 0x85, 0xeb, 0x91, 0x40, 0x35, 0xe1, 0x7a, 0xfc, 0x40, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4e, 0x6f, 0x74, + 0x49, 0x6e, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, + 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x27, 0x0a, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4c, 0x54, 0x12, 0x1c, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x15, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x08, 0x46, 0x6c, 0x6f, + 0x61, 0x74, 0x4c, 0x54, 0x45, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x02, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x1d, 0x00, 0x00, 0x80, 0x42, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x47, 0x54, 0x12, 0x1c, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0a, 0xba, 0x48, 0x07, + 0x0a, 0x05, 0x25, 0x00, 0x00, 0x80, 0x41, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x08, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x47, 0x54, 0x45, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x2d, 0x00, 0x00, 0x00, + 0x41, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x09, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x47, + 0x54, 0x4c, 0x54, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, + 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x0a, 0x0a, 0x15, 0x00, 0x00, 0x20, 0x41, 0x25, 0x00, 0x00, 0x00, + 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, + 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x02, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x0a, 0x0a, 0x15, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, + 0x00, 0x20, 0x41, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x02, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x0a, 0x0a, 0x1d, 0x00, 0x00, 0x80, 0x43, + 0x2d, 0x00, 0x00, 0x00, 0x43, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x32, 0x0a, 0x0d, 0x46, 0x6c, + 0x6f, 0x61, 0x74, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x21, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x0a, 0x0a, 0x1d, + 0x00, 0x00, 0x00, 0x43, 0x2d, 0x00, 0x00, 0x80, 0x43, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, + 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x12, 0x19, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x07, 0xba, 0x48, 0x04, 0x0a, + 0x02, 0x40, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0e, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x05, 0xba, 0x48, 0x02, 0x0a, 0x00, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x49, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, + 0x12, 0xba, 0x48, 0x0f, 0xd0, 0x01, 0x01, 0x0a, 0x0a, 0x1d, 0x00, 0x00, 0x80, 0x43, 0x2d, 0x00, + 0x00, 0x00, 0x43, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x36, 0x0a, 0x12, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0e, 0xba, 0x48, 0x0b, + 0x12, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x2c, 0x0a, 0x0c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0a, 0xba, + 0x48, 0x07, 0x0a, 0x05, 0x4d, 0x00, 0x00, 0x00, 0x41, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1e, + 0x0a, 0x0a, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, + 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x12, + 0x09, 0x09, 0xae, 0x47, 0xe1, 0x7a, 0x14, 0xae, 0xf3, 0x3f, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x35, 0x0a, 0x08, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x12, 0x29, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xba, 0x48, 0x14, 0x12, 0x12, 0x31, + 0x3d, 0x0a, 0xd7, 0xa3, 0x70, 0x3d, 0x12, 0x40, 0x31, 0x8f, 0xc2, 0xf5, 0x28, 0x5c, 0x8f, 0x1f, + 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, + 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x01, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x12, 0x09, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x08, 0x44, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x4c, 0x54, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, + 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x12, 0x09, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x09, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, + 0x54, 0x45, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, + 0x0e, 0xba, 0x48, 0x0b, 0x12, 0x09, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x40, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x08, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x47, 0x54, + 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xba, + 0x48, 0x0b, 0x12, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x09, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x47, 0x54, 0x45, 0x12, + 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xba, 0x48, + 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x37, 0x0a, 0x0a, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x47, 0x54, 0x4c, 0x54, 0x12, + 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xba, 0x48, + 0x14, 0x12, 0x12, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, 0x21, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x39, 0x0a, 0x0c, 0x44, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xba, 0x48, 0x14, 0x12, 0x12, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x39, 0x0a, 0x0c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x47, + 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x01, 0x42, 0x17, 0xba, 0x48, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x3b, 0x0a, 0x0e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, + 0x54, 0x45, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, + 0x17, 0xba, 0x48, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x40, 0x29, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, + 0x0c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x12, 0x19, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x07, 0xba, 0x48, 0x04, 0x12, + 0x02, 0x40, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0f, 0x44, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x05, 0xba, 0x48, 0x02, 0x12, 0x00, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3c, 0x0a, 0x0c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x49, 0x67, + 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x01, 0x42, 0x1a, 0xba, 0x48, 0x17, 0xd0, 0x01, 0x01, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x40, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x13, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x63, 0x6f, + 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x31, 0x0a, 0x0d, 0x44, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x12, 0x09, 0x49, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1d, 0x0a, 0x09, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x0a, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x08, 0x01, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x12, 0x1b, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x09, 0xba, 0x48, 0x06, 0x1a, + 0x04, 0x30, 0x02, 0x30, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x0a, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x38, 0x00, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x24, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x54, 0x12, 0x19, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, + 0x1a, 0x02, 0x10, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x4c, 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x18, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x24, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x20, + 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, + 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x28, 0x08, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, + 0x09, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x09, 0xba, 0x48, 0x06, 0x1a, 0x04, 0x10, 0x0a, + 0x20, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x09, 0xba, 0x48, 0x06, 0x1a, 0x04, 0x10, 0x00, 0x20, 0x0a, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x45, 0x4c, + 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x0b, 0xba, 0x48, 0x08, 0x1a, 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x2e, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, + 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x0b, 0xba, 0x48, 0x08, 0x1a, 0x06, 0x18, 0x80, 0x01, 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x2f, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, + 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0e, 0xba, + 0x48, 0x0b, 0xd0, 0x01, 0x01, 0x1a, 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x32, 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x63, 0x6f, 0x72, + 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, + 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, 0x40, 0x0a, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1d, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x08, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x09, 0xba, 0x48, 0x06, 0x22, 0x04, 0x32, 0x02, 0x02, 0x03, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x28, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, - 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x08, 0xba, 0x48, - 0x05, 0x22, 0x03, 0x3a, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x24, 0x0a, 0x07, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x10, 0x00, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x54, 0x45, 0x12, 0x19, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, - 0x02, 0x18, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x24, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x47, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x20, 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, - 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x28, 0x08, - 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, - 0x4c, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, - 0x09, 0xba, 0x48, 0x06, 0x22, 0x04, 0x10, 0x0a, 0x20, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x2a, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x1b, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x09, 0xba, 0x48, 0x06, - 0x22, 0x04, 0x10, 0x00, 0x20, 0x0a, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x0b, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x22, 0x06, 0x18, 0x80, - 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0d, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x22, 0x06, 0x18, 0x80, - 0x01, 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0b, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0xd0, 0x01, 0x01, 0x22, 0x06, 0x18, - 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x8c, 0x04, 0x0a, 0x13, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x42, 0x69, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x22, 0x06, 0x10, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0x52, - 0x05, 0x6c, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x27, 0x0a, 0x06, 0x6c, 0x74, 0x5f, 0x6e, 0x65, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x10, 0xba, 0x48, 0x0d, 0x22, 0x0b, 0x10, 0xda, 0xa2, - 0xf8, 0xdb, 0xeb, 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x05, 0x6c, 0x74, 0x4e, 0x65, 0x67, 0x12, - 0x22, 0x0a, 0x06, 0x67, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, - 0x0b, 0xba, 0x48, 0x08, 0x22, 0x06, 0x20, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0x52, 0x05, 0x67, 0x74, - 0x50, 0x6f, 0x73, 0x12, 0x27, 0x0a, 0x06, 0x67, 0x74, 0x5f, 0x6e, 0x65, 0x67, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x42, 0x10, 0xba, 0x48, 0x0d, 0x22, 0x0b, 0x20, 0xda, 0xa2, 0xf8, 0xdb, 0xeb, - 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x05, 0x67, 0x74, 0x4e, 0x65, 0x67, 0x12, 0x24, 0x0a, 0x07, - 0x6c, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xba, - 0x48, 0x08, 0x22, 0x06, 0x18, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0x52, 0x06, 0x6c, 0x74, 0x65, 0x50, - 0x6f, 0x73, 0x12, 0x29, 0x0a, 0x07, 0x6c, 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x67, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x42, 0x10, 0xba, 0x48, 0x0d, 0x22, 0x0b, 0x18, 0xda, 0xa2, 0xf8, 0xdb, 0xeb, - 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x06, 0x6c, 0x74, 0x65, 0x4e, 0x65, 0x67, 0x12, 0x24, 0x0a, - 0x07, 0x67, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, - 0xba, 0x48, 0x08, 0x22, 0x06, 0x28, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0x52, 0x06, 0x67, 0x74, 0x65, - 0x50, 0x6f, 0x73, 0x12, 0x29, 0x0a, 0x07, 0x67, 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x67, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x03, 0x42, 0x10, 0xba, 0x48, 0x0d, 0x22, 0x0b, 0x28, 0xda, 0xa2, 0xf8, 0xdb, - 0xeb, 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x06, 0x67, 0x74, 0x65, 0x4e, 0x65, 0x67, 0x12, 0x2e, - 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x22, 0x06, 0x08, 0xa6, 0xdd, 0x87, 0xa4, - 0x14, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x33, - 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x65, 0x67, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x03, 0x42, 0x10, 0xba, 0x48, 0x0d, 0x22, 0x0b, 0x08, 0xda, 0xa2, 0xf8, 0xdb, - 0xeb, 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, - 0x4e, 0x65, 0x67, 0x12, 0x26, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x42, - 0x16, 0xba, 0x48, 0x13, 0x22, 0x11, 0x32, 0x0f, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0xda, 0xa2, 0xf8, - 0xdb, 0xeb, 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x05, 0x6e, - 0x6f, 0x74, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x42, 0x16, 0xba, 0x48, 0x13, 0x22, - 0x11, 0x3a, 0x0f, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0xda, 0xa2, 0xf8, 0xdb, 0xeb, 0xff, 0xff, 0xff, - 0xff, 0x01, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x69, 0x6e, 0x22, 0x32, 0x0a, 0x12, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0a, 0xba, 0x48, - 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1e, 0x0a, - 0x0a, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, - 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, - 0x08, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x08, 0x55, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x42, 0x09, 0xba, 0x48, 0x06, 0x2a, 0x04, 0x32, 0x02, 0x02, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x29, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, - 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xba, 0x48, - 0x05, 0x2a, 0x03, 0x3a, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x55, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x10, 0x05, 0x52, 0x03, 0x76, - 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x54, 0x45, 0x12, + 0x03, 0x42, 0x09, 0xba, 0x48, 0x06, 0x22, 0x04, 0x30, 0x02, 0x30, 0x03, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x27, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, + 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, + 0x04, 0x22, 0x02, 0x38, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x24, 0x0a, 0x07, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x4c, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x10, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x25, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, + 0x18, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x24, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x47, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x20, 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, + 0x08, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x28, 0x08, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x4c, + 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x09, + 0xba, 0x48, 0x06, 0x22, 0x04, 0x10, 0x0a, 0x20, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, + 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x1b, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x09, 0xba, 0x48, 0x06, 0x22, + 0x04, 0x10, 0x00, 0x20, 0x0a, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x0b, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x22, 0x06, 0x18, 0x80, 0x02, + 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x22, 0x06, 0x18, 0x80, 0x01, + 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0xd0, 0x01, 0x01, 0x22, 0x06, 0x18, 0x80, + 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x8c, 0x04, 0x0a, 0x13, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x42, 0x69, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, + 0x73, 0x12, 0x22, 0x0a, 0x06, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x22, 0x06, 0x10, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0x52, 0x05, + 0x6c, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x27, 0x0a, 0x06, 0x6c, 0x74, 0x5f, 0x6e, 0x65, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x10, 0xba, 0x48, 0x0d, 0x22, 0x0b, 0x10, 0xda, 0xa2, 0xf8, + 0xdb, 0xeb, 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x05, 0x6c, 0x74, 0x4e, 0x65, 0x67, 0x12, 0x22, + 0x0a, 0x06, 0x67, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, + 0xba, 0x48, 0x08, 0x22, 0x06, 0x20, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0x52, 0x05, 0x67, 0x74, 0x50, + 0x6f, 0x73, 0x12, 0x27, 0x0a, 0x06, 0x67, 0x74, 0x5f, 0x6e, 0x65, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x42, 0x10, 0xba, 0x48, 0x0d, 0x22, 0x0b, 0x20, 0xda, 0xa2, 0xf8, 0xdb, 0xeb, 0xff, + 0xff, 0xff, 0xff, 0x01, 0x52, 0x05, 0x67, 0x74, 0x4e, 0x65, 0x67, 0x12, 0x24, 0x0a, 0x07, 0x6c, + 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xba, 0x48, + 0x08, 0x22, 0x06, 0x18, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0x52, 0x06, 0x6c, 0x74, 0x65, 0x50, 0x6f, + 0x73, 0x12, 0x29, 0x0a, 0x07, 0x6c, 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x67, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x03, 0x42, 0x10, 0xba, 0x48, 0x0d, 0x22, 0x0b, 0x18, 0xda, 0xa2, 0xf8, 0xdb, 0xeb, 0xff, + 0xff, 0xff, 0xff, 0x01, 0x52, 0x06, 0x6c, 0x74, 0x65, 0x4e, 0x65, 0x67, 0x12, 0x24, 0x0a, 0x07, + 0x67, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xba, + 0x48, 0x08, 0x22, 0x06, 0x28, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0x52, 0x06, 0x67, 0x74, 0x65, 0x50, + 0x6f, 0x73, 0x12, 0x29, 0x0a, 0x07, 0x67, 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x67, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x03, 0x42, 0x10, 0xba, 0x48, 0x0d, 0x22, 0x0b, 0x28, 0xda, 0xa2, 0xf8, 0xdb, 0xeb, + 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x06, 0x67, 0x74, 0x65, 0x4e, 0x65, 0x67, 0x12, 0x2e, 0x0a, + 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x03, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x22, 0x06, 0x08, 0xa6, 0xdd, 0x87, 0xa4, 0x14, + 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x33, 0x0a, + 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x65, 0x67, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x03, 0x42, 0x10, 0xba, 0x48, 0x0d, 0x22, 0x0b, 0x08, 0xda, 0xa2, 0xf8, 0xdb, 0xeb, + 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x4e, + 0x65, 0x67, 0x12, 0x26, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x42, 0x16, + 0xba, 0x48, 0x13, 0x22, 0x11, 0x30, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0x30, 0xda, 0xa2, 0xf8, 0xdb, + 0xeb, 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x05, 0x6e, 0x6f, + 0x74, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x42, 0x16, 0xba, 0x48, 0x13, 0x22, 0x11, + 0x38, 0xa6, 0xdd, 0x87, 0xa4, 0x14, 0x38, 0xda, 0xa2, 0xf8, 0xdb, 0xeb, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x69, 0x6e, 0x22, 0x32, 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0a, 0xba, 0x48, 0x07, + 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0c, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, + 0x48, 0x0a, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x0a, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x08, 0x01, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x27, 0x0a, 0x08, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x12, 0x1b, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xba, 0x48, 0x06, 0x2a, + 0x04, 0x30, 0x02, 0x30, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x0b, 0x55, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x38, 0x00, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x54, + 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, + 0x48, 0x04, 0x2a, 0x02, 0x10, 0x05, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x55, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x18, 0x40, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, - 0x04, 0x2a, 0x02, 0x18, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x55, 0x49, - 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x20, 0x10, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x45, 0x12, 0x19, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, - 0x2a, 0x02, 0x28, 0x08, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0a, 0x55, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xba, 0x48, 0x06, 0x2a, 0x04, 0x10, 0x0a, 0x20, 0x05, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, - 0x4c, 0x54, 0x47, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x42, 0x09, 0xba, 0x48, 0x06, 0x2a, 0x04, 0x10, 0x05, 0x20, 0x0a, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x2d, 0x0a, 0x0c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x45, 0x4c, 0x54, - 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, - 0xba, 0x48, 0x08, 0x2a, 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x2f, 0x0a, 0x0e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, - 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x0b, 0xba, 0x48, 0x08, 0x2a, 0x06, 0x18, 0x80, 0x01, 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x30, 0x0a, 0x0c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x67, 0x6e, 0x6f, 0x72, - 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0e, - 0xba, 0x48, 0x0b, 0xd0, 0x01, 0x01, 0x2a, 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, - 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x13, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x63, - 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, - 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x0a, 0x55, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xba, 0x48, 0x04, 0x32, 0x02, 0x08, 0x01, 0x52, 0x03, 0x76, - 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x08, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x12, 0x1b, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x09, 0xba, 0x48, 0x06, - 0x32, 0x04, 0x32, 0x02, 0x02, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0b, 0x55, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x08, 0xba, 0x48, 0x05, 0x32, 0x03, 0x3a, 0x01, - 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x4c, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x07, 0xba, 0x48, 0x04, 0x32, 0x02, 0x10, 0x05, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, - 0x09, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xba, 0x48, 0x04, 0x32, 0x02, 0x18, 0x40, - 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, - 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, - 0xba, 0x48, 0x04, 0x32, 0x02, 0x20, 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x09, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xba, 0x48, 0x04, 0x32, 0x02, 0x28, 0x08, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0a, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, - 0x4c, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x09, 0xba, 0x48, 0x06, 0x32, 0x04, 0x10, 0x0a, 0x20, 0x05, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x2b, 0x0a, 0x0c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, - 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x09, 0xba, 0x48, - 0x06, 0x32, 0x04, 0x10, 0x05, 0x20, 0x0a, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x0c, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x32, 0x06, - 0x18, 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0e, 0x55, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x32, - 0x06, 0x18, 0x80, 0x01, 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0c, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0xd0, 0x01, - 0x01, 0x32, 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x33, - 0x0a, 0x13, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, + 0x04, 0x2a, 0x02, 0x20, 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x55, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x28, 0x08, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0a, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x4c, 0x54, + 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xba, + 0x48, 0x06, 0x2a, 0x04, 0x10, 0x0a, 0x20, 0x05, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, + 0x0c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x1b, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xba, 0x48, 0x06, 0x2a, + 0x04, 0x10, 0x05, 0x20, 0x0a, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x0c, 0x55, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x2a, 0x06, 0x18, 0x80, + 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0e, 0x55, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x2a, 0x06, 0x18, + 0x80, 0x01, 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0c, 0x55, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0xd0, 0x01, 0x01, 0x2a, + 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x13, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x2a, 0x0a, 0x0d, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x40, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1e, 0x0a, + 0x0a, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, + 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xba, 0x48, 0x04, 0x32, 0x02, + 0x08, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x08, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x42, 0x09, 0xba, 0x48, 0x06, 0x32, 0x04, 0x30, 0x02, 0x30, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x28, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, + 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xba, 0x48, + 0x04, 0x32, 0x02, 0x38, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x55, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x42, 0x07, 0xba, 0x48, 0x04, 0x32, 0x02, 0x10, 0x05, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x54, 0x45, 0x12, 0x19, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xba, 0x48, 0x04, + 0x32, 0x02, 0x18, 0x40, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x47, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x42, 0x07, 0xba, 0x48, 0x04, 0x32, 0x02, 0x20, 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x26, 0x0a, 0x09, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x45, 0x12, 0x19, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xba, 0x48, 0x04, 0x32, + 0x02, 0x28, 0x08, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0a, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x42, 0x09, 0xba, 0x48, 0x06, 0x32, 0x04, 0x10, 0x0a, 0x20, 0x05, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x4c, + 0x54, 0x47, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x42, 0x09, 0xba, 0x48, 0x06, 0x32, 0x04, 0x10, 0x05, 0x20, 0x0a, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x2d, 0x0a, 0x0c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, + 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0b, 0xba, + 0x48, 0x08, 0x32, 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x2f, 0x0a, 0x0e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, + 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0b, + 0xba, 0x48, 0x08, 0x32, 0x06, 0x18, 0x80, 0x01, 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x30, 0x0a, 0x0c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, + 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0e, 0xba, + 0x48, 0x0b, 0xd0, 0x01, 0x01, 0x32, 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x01, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x13, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x63, 0x6f, + 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0d, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xba, 0x48, 0x04, 0x32, 0x02, 0x40, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x0a, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x07, 0xba, 0x48, 0x04, 0x3a, 0x02, 0x08, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x08, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x09, 0xba, 0x48, 0x06, 0x3a, 0x04, 0x32, 0x02, 0x04, - 0x06, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, - 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x11, 0x42, 0x08, 0xba, 0x48, 0x05, 0x3a, 0x03, 0x3a, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x54, 0x12, 0x19, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x07, 0xba, 0x48, 0x04, 0x3a, - 0x02, 0x10, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x09, 0x53, 0x49, 0x6e, 0x74, - 0x33, 0x32, 0x4c, 0x54, 0x45, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x11, 0x42, 0x08, 0xba, 0x48, 0x05, 0x3a, 0x03, 0x18, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x12, 0x19, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x07, 0xba, 0x48, 0x04, 0x3a, - 0x02, 0x20, 0x20, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x53, 0x49, 0x6e, 0x74, - 0x33, 0x32, 0x47, 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x11, 0x42, 0x07, 0xba, 0x48, 0x04, 0x3a, 0x02, 0x28, 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x29, 0x0a, 0x0a, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x1b, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x09, 0xba, 0x48, 0x06, - 0x3a, 0x04, 0x10, 0x14, 0x20, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0c, 0x53, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x09, 0xba, 0x48, 0x06, 0x3a, 0x04, 0x10, - 0x00, 0x20, 0x14, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x0c, 0x53, 0x49, 0x6e, 0x74, - 0x33, 0x32, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x3a, 0x06, 0x18, 0x80, 0x04, 0x28, - 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0e, 0x53, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x3a, 0x06, 0x18, 0x80, 0x02, - 0x28, 0x80, 0x04, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0c, 0x53, 0x49, 0x6e, 0x74, - 0x33, 0x32, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0xd0, 0x01, 0x01, 0x3a, 0x06, 0x18, - 0x80, 0x04, 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x13, 0x53, 0x49, - 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x0a, - 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x1e, 0x0a, 0x0a, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x28, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x19, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x07, 0xba, 0x48, 0x04, - 0x42, 0x02, 0x08, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x08, 0x53, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x12, 0x42, 0x09, 0xba, 0x48, 0x06, 0x42, 0x04, 0x32, 0x02, 0x04, 0x06, 0x52, 0x03, 0x76, - 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x6f, 0x74, 0x49, - 0x6e, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x08, - 0xba, 0x48, 0x05, 0x42, 0x03, 0x3a, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, - 0x08, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x07, 0xba, 0x48, 0x04, 0x42, 0x02, 0x10, 0x00, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x09, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x54, - 0x45, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x08, - 0xba, 0x48, 0x05, 0x42, 0x03, 0x18, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, - 0x08, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x07, 0xba, 0x48, 0x04, 0x42, 0x02, 0x20, 0x20, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, - 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x07, - 0xba, 0x48, 0x04, 0x42, 0x02, 0x28, 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0a, - 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x09, 0xba, 0x48, 0x06, 0x42, 0x04, 0x10, 0x14, - 0x20, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0c, 0x53, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x12, 0x42, 0x09, 0xba, 0x48, 0x06, 0x42, 0x04, 0x10, 0x00, 0x20, 0x14, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x0c, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, - 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x12, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x42, 0x06, 0x18, 0x80, 0x04, 0x28, 0x80, 0x02, 0x52, 0x03, - 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0e, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x47, - 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x12, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x42, 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x04, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0c, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x67, - 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x12, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0xd0, 0x01, 0x01, 0x42, 0x06, 0x18, 0x80, 0x04, 0x28, 0x80, - 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x13, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, - 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1f, 0x0a, 0x0b, 0x46, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x0c, - 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x4a, 0x05, - 0x0d, 0x01, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x09, 0x46, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x07, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x4a, 0x0a, 0x32, 0x08, 0x02, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x0c, 0x46, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x4a, 0x06, 0x3a, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x09, 0x46, 0x69, 0x78, - 0x65, 0x64, 0x33, 0x32, 0x4c, 0x54, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x07, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x4a, 0x05, 0x15, 0x05, 0x00, 0x00, 0x00, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0a, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x4c, - 0x54, 0x45, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, - 0x0a, 0xba, 0x48, 0x07, 0x4a, 0x05, 0x1d, 0x40, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x29, 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x12, 0x1c, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x4a, - 0x05, 0x25, 0x10, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0a, 0x46, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x45, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x4a, 0x05, 0x2d, 0x08, 0x00, - 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0b, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x33, 0x32, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x07, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x4a, 0x0a, 0x15, 0x0a, 0x00, 0x00, 0x00, 0x25, - 0x05, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x32, 0x0a, 0x0d, 0x46, 0x69, 0x78, - 0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x4a, 0x0a, 0x15, 0x05, - 0x00, 0x00, 0x00, 0x25, 0x0a, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x32, 0x0a, - 0x0d, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x21, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0f, 0xba, 0x48, 0x0c, - 0x4a, 0x0a, 0x1d, 0x00, 0x01, 0x00, 0x00, 0x2d, 0x80, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x34, 0x0a, 0x0f, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x47, 0x54, - 0x45, 0x4c, 0x54, 0x45, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x07, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x4a, 0x0a, 0x1d, 0x80, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x01, - 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x35, 0x0a, 0x0d, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x33, 0x32, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x12, 0xba, 0x48, 0x0f, 0xd0, 0x01, 0x01, 0x4a, 0x0a, 0x1d, - 0x00, 0x01, 0x00, 0x00, 0x2d, 0x80, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x34, - 0x0a, 0x14, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, - 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x07, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1f, 0x0a, 0x0b, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x4e, - 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, - 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x06, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x52, 0x09, 0x09, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x36, 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x36, 0x34, 0x49, 0x6e, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x06, 0x42, 0x17, 0xba, 0x48, 0x14, 0x52, 0x12, 0x32, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x31, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, - 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x0f, 0xba, 0x48, - 0x0c, 0x52, 0x0a, 0x3a, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, - 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x4c, 0x54, 0x12, - 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x0e, 0xba, 0x48, - 0x0b, 0x52, 0x09, 0x11, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x2e, 0x0a, 0x0a, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x4c, 0x54, 0x45, 0x12, - 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x0e, 0xba, 0x48, - 0x0b, 0x52, 0x09, 0x19, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x2d, 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x47, 0x54, 0x12, 0x20, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x0e, 0xba, 0x48, 0x0b, - 0x52, 0x09, 0x21, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x2e, 0x0a, 0x0a, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x47, 0x54, 0x45, 0x12, 0x20, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x0e, 0xba, 0x48, 0x0b, - 0x52, 0x09, 0x29, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x38, 0x0a, 0x0b, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x47, 0x54, 0x4c, 0x54, 0x12, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x09, 0xba, 0x48, 0x06, 0x3a, 0x04, 0x30, 0x04, 0x30, + 0x06, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x11, 0x42, 0x07, 0xba, 0x48, 0x04, 0x3a, 0x02, 0x38, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x25, 0x0a, 0x08, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x54, 0x12, 0x19, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x07, 0xba, 0x48, 0x04, 0x3a, 0x02, + 0x10, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x09, 0x53, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x4c, 0x54, 0x45, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x11, 0x42, 0x08, 0xba, 0x48, 0x05, 0x3a, 0x03, 0x18, 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x25, 0x0a, 0x08, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x12, 0x19, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x07, 0xba, 0x48, 0x04, 0x3a, 0x02, + 0x20, 0x20, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x09, 0x53, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x47, 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x11, 0x42, 0x07, 0xba, 0x48, 0x04, 0x3a, 0x02, 0x28, 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x29, 0x0a, 0x0a, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x1b, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x09, 0xba, 0x48, 0x06, 0x3a, + 0x04, 0x10, 0x14, 0x20, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0c, 0x53, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x09, 0xba, 0x48, 0x06, 0x3a, 0x04, 0x10, 0x00, + 0x20, 0x14, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x0c, 0x53, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x11, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x3a, 0x06, 0x18, 0x80, 0x04, 0x28, 0x80, + 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0e, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x3a, 0x06, 0x18, 0x80, 0x02, 0x28, + 0x80, 0x04, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0c, 0x53, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x11, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0xd0, 0x01, 0x01, 0x3a, 0x06, 0x18, 0x80, + 0x04, 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x13, 0x53, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x0a, 0xba, + 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, + 0x0a, 0x0d, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, + 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x07, 0xba, 0x48, + 0x04, 0x3a, 0x02, 0x40, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x0a, 0x53, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x0b, 0x53, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x07, 0xba, 0x48, 0x04, 0x42, 0x02, 0x08, 0x02, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x08, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, + 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x09, 0xba, + 0x48, 0x06, 0x42, 0x04, 0x30, 0x04, 0x30, 0x06, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, + 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x19, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x07, 0xba, 0x48, 0x04, 0x42, 0x02, + 0x38, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x53, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x4c, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, + 0x42, 0x07, 0xba, 0x48, 0x04, 0x42, 0x02, 0x10, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, + 0x0a, 0x09, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x54, 0x45, 0x12, 0x1a, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x08, 0xba, 0x48, 0x05, 0x42, 0x03, 0x18, + 0x80, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x53, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x47, 0x54, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, + 0x42, 0x07, 0xba, 0x48, 0x04, 0x42, 0x02, 0x20, 0x20, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x26, + 0x0a, 0x09, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x45, 0x12, 0x19, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x07, 0xba, 0x48, 0x04, 0x42, 0x02, 0x28, + 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0a, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x47, 0x54, 0x4c, 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x12, 0x42, 0x09, 0xba, 0x48, 0x06, 0x42, 0x04, 0x10, 0x14, 0x20, 0x00, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x2b, 0x0a, 0x0c, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x4c, 0x54, 0x47, + 0x54, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x09, + 0xba, 0x48, 0x06, 0x42, 0x04, 0x10, 0x00, 0x20, 0x14, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, + 0x0a, 0x0c, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x1d, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x0b, 0xba, 0x48, 0x08, + 0x42, 0x06, 0x18, 0x80, 0x04, 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, + 0x0e, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, + 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x0b, 0xba, 0x48, + 0x08, 0x42, 0x06, 0x18, 0x80, 0x02, 0x28, 0x80, 0x04, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, + 0x0a, 0x0c, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x20, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x0e, 0xba, 0x48, 0x0b, + 0xd0, 0x01, 0x01, 0x42, 0x06, 0x18, 0x80, 0x04, 0x28, 0x80, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x33, 0x0a, 0x13, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, + 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x12, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0d, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x12, 0x42, 0x07, 0xba, 0x48, 0x04, 0x42, 0x02, 0x40, 0x00, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x1f, 0x0a, 0x0b, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x4e, 0x6f, 0x6e, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, + 0x0a, 0xba, 0x48, 0x07, 0x4a, 0x05, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x2e, 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x49, 0x6e, 0x12, 0x21, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x4a, + 0x0a, 0x35, 0x02, 0x00, 0x00, 0x00, 0x35, 0x03, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x2c, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x4e, 0x6f, 0x74, 0x49, 0x6e, + 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0a, 0xba, + 0x48, 0x07, 0x4a, 0x05, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, + 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x4c, 0x54, 0x12, 0x1c, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x4a, 0x05, 0x15, + 0x05, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0a, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x4c, 0x54, 0x45, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x07, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x4a, 0x05, 0x1d, 0x40, 0x00, 0x00, 0x00, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x47, 0x54, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, + 0x0a, 0xba, 0x48, 0x07, 0x4a, 0x05, 0x25, 0x10, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x2a, 0x0a, 0x0a, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x45, 0x12, 0x1c, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0a, 0xba, 0x48, 0x07, + 0x4a, 0x05, 0x2d, 0x08, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0b, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x21, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x4a, 0x0a, 0x15, + 0x0a, 0x00, 0x00, 0x00, 0x25, 0x05, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x32, + 0x0a, 0x0d, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, + 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0f, 0xba, 0x48, + 0x0c, 0x4a, 0x0a, 0x15, 0x05, 0x00, 0x00, 0x00, 0x25, 0x0a, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x32, 0x0a, 0x0d, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x45, + 0x4c, 0x54, 0x45, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, + 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x4a, 0x0a, 0x1d, 0x00, 0x01, 0x00, 0x00, 0x2d, 0x80, 0x00, 0x00, + 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x34, 0x0a, 0x0f, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x4a, 0x0a, 0x1d, 0x80, 0x00, + 0x00, 0x00, 0x2d, 0x00, 0x01, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x35, 0x0a, 0x0d, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x12, 0xba, 0x48, 0x0f, 0xd0, + 0x01, 0x01, 0x4a, 0x0a, 0x1d, 0x00, 0x01, 0x00, 0x00, 0x2d, 0x80, 0x00, 0x00, 0x00, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x34, 0x0a, 0x14, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x49, 0x6e, + 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0e, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x4a, 0x05, 0x45, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x1f, 0x0a, 0x0b, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x36, 0x34, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0c, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x52, 0x09, 0x09, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x36, 0x0a, 0x09, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x49, 0x6e, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x17, 0xba, 0x48, 0x14, 0x52, 0x12, 0x31, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x4e, + 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x06, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x52, 0x09, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x4c, 0x54, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x52, 0x09, 0x11, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0a, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x4c, 0x54, 0x45, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x52, 0x09, 0x19, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x47, 0x54, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, + 0x0e, 0xba, 0x48, 0x0b, 0x52, 0x09, 0x21, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0a, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x47, + 0x54, 0x45, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, + 0x0e, 0xba, 0x48, 0x0b, 0x52, 0x09, 0x29, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, 0x0b, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x47, + 0x54, 0x4c, 0x54, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x42, 0x17, 0xba, 0x48, 0x14, 0x52, 0x12, 0x11, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x21, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3a, + 0x0a, 0x0d, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x17, 0xba, 0x48, - 0x14, 0x52, 0x12, 0x11, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x05, 0x00, 0x00, + 0x14, 0x52, 0x12, 0x11, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x0d, 0x46, 0x69, - 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x29, 0x0a, 0x03, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x17, 0xba, 0x48, 0x14, 0x52, 0x12, 0x11, - 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x0d, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, - 0x34, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x06, 0x42, 0x17, 0xba, 0x48, 0x14, 0x52, 0x12, 0x19, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x29, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, - 0x61, 0x6c, 0x22, 0x3c, 0x0a, 0x0f, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, 0x47, - 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x06, 0x42, 0x17, 0xba, 0x48, 0x14, 0x52, 0x12, 0x19, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x3d, 0x0a, 0x0d, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x49, 0x67, 0x6e, 0x6f, 0x72, - 0x65, 0x12, 0x2c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x1a, - 0xba, 0x48, 0x17, 0xd0, 0x01, 0x01, 0x52, 0x12, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x29, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x34, 0x0a, 0x14, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, - 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x06, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, - 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x20, 0x0a, 0x0c, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, - 0x32, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0f, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x33, 0x32, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x5a, 0x05, 0x0d, 0x01, 0x00, 0x00, - 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0a, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x33, 0x32, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0f, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x5a, 0x0a, 0x32, 0x08, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, - 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x33, 0x32, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x5a, 0x06, 0x3a, 0x04, 0x00, 0x00, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x29, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x17, 0xba, 0x48, 0x14, 0x52, 0x12, 0x19, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3c, 0x0a, 0x0f, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x17, 0xba, 0x48, 0x14, 0x52, 0x12, 0x19, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3d, 0x0a, 0x0d, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x49, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x06, 0x42, 0x1a, 0xba, 0x48, 0x17, 0xd0, 0x01, 0x01, 0x52, 0x12, 0x19, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x34, 0x0a, 0x14, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x49, 0x6e, + 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x32, 0x0a, 0x0e, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x52, 0x09, 0x41, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x20, 0x0a, + 0x0c, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x2d, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x43, 0x6f, 0x6e, 0x73, 0x74, + 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0a, 0xba, + 0x48, 0x07, 0x5a, 0x05, 0x0d, 0x01, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, + 0x0a, 0x0a, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x5a, 0x0a, + 0x35, 0x02, 0x00, 0x00, 0x00, 0x35, 0x03, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x2d, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x4e, 0x6f, 0x74, 0x49, 0x6e, + 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0a, 0xba, + 0x48, 0x07, 0x5a, 0x05, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, + 0x0a, 0x0a, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x4c, 0x54, 0x12, 0x1c, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x5a, 0x05, + 0x15, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0b, 0x53, 0x46, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x4c, 0x54, 0x45, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x5a, 0x05, 0x1d, 0x40, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x0a, 0x53, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x33, 0x32, 0x4c, 0x54, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0f, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x5a, 0x05, 0x15, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, - 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0b, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x4c, + 0x64, 0x33, 0x32, 0x47, 0x54, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0f, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x5a, 0x05, 0x25, 0x10, 0x00, 0x00, 0x00, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0b, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x45, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, - 0x0a, 0xba, 0x48, 0x07, 0x5a, 0x05, 0x1d, 0x40, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x2a, 0x0a, 0x0a, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x12, 0x1c, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0a, 0xba, 0x48, 0x07, - 0x5a, 0x05, 0x25, 0x10, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0b, - 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x45, 0x12, 0x1c, 0x0a, 0x03, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x5a, 0x05, 0x2d, - 0x08, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x31, 0x0a, 0x0c, 0x53, 0x46, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x5a, 0x0a, 0x15, 0x0a, 0x00, - 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x0e, - 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x21, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0f, 0xba, 0x48, 0x0c, - 0x5a, 0x0a, 0x15, 0x00, 0x00, 0x00, 0x00, 0x25, 0x0a, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x33, 0x0a, 0x0e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x45, - 0x4c, 0x54, 0x45, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, - 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x5a, 0x0a, 0x1d, 0x00, 0x01, 0x00, 0x00, 0x2d, 0x80, 0x00, 0x00, - 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x35, 0x0a, 0x10, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x33, 0x32, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x5a, 0x0a, 0x1d, 0x80, - 0x00, 0x00, 0x00, 0x2d, 0x00, 0x01, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x36, 0x0a, - 0x0e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, - 0x24, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x12, 0xba, 0x48, - 0x0f, 0xd0, 0x01, 0x01, 0x5a, 0x0a, 0x1d, 0x00, 0x01, 0x00, 0x00, 0x2d, 0x80, 0x00, 0x00, 0x00, - 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x35, 0x0a, 0x15, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, - 0x32, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0a, 0xba, 0x48, 0x07, - 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x20, 0x0a, 0x0c, - 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x31, - 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x0e, 0xba, 0x48, - 0x0b, 0x62, 0x09, 0x09, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x37, 0x0a, 0x0a, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x49, 0x6e, 0x12, - 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x17, 0xba, 0x48, - 0x14, 0x62, 0x12, 0x32, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x32, 0x0a, 0x0d, 0x53, 0x46, - 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x03, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x62, 0x0a, 0x3a, - 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, - 0x0a, 0x0a, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x4c, 0x54, 0x12, 0x20, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x62, 0x09, - 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, - 0x0a, 0x0b, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x4c, 0x54, 0x45, 0x12, 0x20, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x62, - 0x09, 0x19, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x2e, 0x0a, 0x0a, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x47, 0x54, 0x12, 0x20, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x62, - 0x09, 0x21, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x2f, 0x0a, 0x0b, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x47, 0x54, 0x45, 0x12, 0x20, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x0e, 0xba, 0x48, 0x0b, - 0x62, 0x09, 0x29, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x39, 0x0a, 0x0c, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x47, 0x54, 0x4c, 0x54, + 0x0a, 0xba, 0x48, 0x07, 0x5a, 0x05, 0x2d, 0x08, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0x31, 0x0a, 0x0c, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x4c, 0x54, + 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0f, 0xba, + 0x48, 0x0c, 0x5a, 0x0a, 0x15, 0x0a, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x0e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, + 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0f, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x5a, 0x0a, 0x15, 0x00, 0x00, 0x00, 0x00, 0x25, 0x0a, + 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x0e, 0x53, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x5a, 0x0a, 0x1d, 0x00, + 0x01, 0x00, 0x00, 0x2d, 0x80, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x35, 0x0a, + 0x10, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, + 0x45, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x0f, + 0xba, 0x48, 0x0c, 0x5a, 0x0a, 0x1d, 0x80, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x01, 0x00, 0x00, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x36, 0x0a, 0x0e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0f, 0x42, 0x12, 0xba, 0x48, 0x0f, 0xd0, 0x01, 0x01, 0x5a, 0x0a, 0x1d, 0x00, 0x01, + 0x00, 0x00, 0x2d, 0x80, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x35, 0x0a, 0x15, + 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0f, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0f, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0f, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x5a, 0x05, 0x45, 0x00, 0x00, 0x00, 0x00, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x20, 0x0a, 0x0c, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x10, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x31, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x10, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x62, 0x09, 0x09, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x37, 0x0a, 0x0a, 0x53, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x49, 0x6e, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x10, 0x42, 0x17, 0xba, 0x48, 0x14, 0x62, 0x12, 0x31, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x31, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x4e, 0x6f, + 0x74, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, + 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x62, 0x09, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0a, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x4c, 0x54, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, + 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x62, 0x09, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0b, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x4c, 0x54, 0x45, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x10, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x62, 0x09, 0x19, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0a, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x47, 0x54, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x10, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x62, 0x09, 0x21, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x0b, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x47, 0x54, 0x45, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x10, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x62, 0x09, 0x29, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x39, 0x0a, 0x0c, 0x53, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x47, 0x54, 0x4c, 0x54, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x10, 0x42, 0x17, 0xba, 0x48, 0x14, 0x62, 0x12, 0x11, 0x0a, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x3b, 0x0a, 0x0e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, + 0x4c, 0x54, 0x47, 0x54, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x10, 0x42, 0x17, 0xba, 0x48, 0x14, 0x62, 0x12, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x21, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x3b, 0x0a, 0x0e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x47, 0x54, 0x45, 0x4c, 0x54, + 0x45, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x17, + 0xba, 0x48, 0x14, 0x62, 0x12, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3d, 0x0a, 0x10, + 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x17, 0xba, - 0x48, 0x14, 0x62, 0x12, 0x11, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3b, 0x0a, 0x0e, 0x53, - 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, 0x4c, 0x54, 0x47, 0x54, 0x12, 0x29, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x17, 0xba, 0x48, 0x14, 0x62, - 0x12, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x0a, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3b, 0x0a, 0x0e, 0x53, 0x46, 0x69, 0x78, - 0x65, 0x64, 0x36, 0x34, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x17, 0xba, 0x48, 0x14, 0x62, 0x12, 0x19, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3d, 0x0a, 0x10, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, - 0x34, 0x45, 0x78, 0x47, 0x54, 0x45, 0x4c, 0x54, 0x45, 0x12, 0x29, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x17, 0xba, 0x48, 0x14, 0x62, 0x12, 0x19, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3e, 0x0a, 0x0e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, - 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x10, 0x42, 0x1a, 0xba, 0x48, 0x17, 0xd0, 0x01, 0x01, 0x62, 0x12, 0x19, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x35, 0x0a, 0x15, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, - 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, - 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x10, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x54, 0x45, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, - 0x1e, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, - 0x04, 0x22, 0x02, 0x18, 0x40, 0x48, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x42, - 0x06, 0x0a, 0x04, 0x5f, 0x76, 0x61, 0x6c, 0x42, 0xa3, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x0c, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, - 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, - 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, - 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, - 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, - 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x48, 0x14, 0x62, 0x12, 0x19, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3e, 0x0a, 0x0e, 0x53, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x1a, 0xba, 0x48, 0x17, 0xd0, + 0x01, 0x01, 0x62, 0x12, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x35, 0x0a, 0x15, 0x53, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x10, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x0a, 0x05, 0x25, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x0f, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x10, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x62, 0x09, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x4c, 0x54, 0x45, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xba, 0x48, 0x04, 0x22, 0x02, 0x18, + 0x40, 0x48, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, + 0x76, 0x61, 0x6c, 0x42, 0xa3, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x0c, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, + 0x02, 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, + 0x65, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, + 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, + 0x63, 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -8780,7 +9478,7 @@ func file_buf_validate_conformance_cases_numbers_proto_rawDescGZIP() []byte { return file_buf_validate_conformance_cases_numbers_proto_rawDescData } -var file_buf_validate_conformance_cases_numbers_proto_msgTypes = make([]protoimpl.MessageInfo, 172) +var file_buf_validate_conformance_cases_numbers_proto_msgTypes = make([]protoimpl.MessageInfo, 186) var file_buf_validate_conformance_cases_numbers_proto_goTypes = []any{ (*FloatNone)(nil), // 0: buf.validate.conformance.cases.FloatNone (*FloatConst)(nil), // 1: buf.validate.conformance.cases.FloatConst @@ -8795,165 +9493,179 @@ var file_buf_validate_conformance_cases_numbers_proto_goTypes = []any{ (*FloatGTELTE)(nil), // 10: buf.validate.conformance.cases.FloatGTELTE (*FloatExGTELTE)(nil), // 11: buf.validate.conformance.cases.FloatExGTELTE (*FloatFinite)(nil), // 12: buf.validate.conformance.cases.FloatFinite - (*FloatIgnore)(nil), // 13: buf.validate.conformance.cases.FloatIgnore - (*FloatIncorrectType)(nil), // 14: buf.validate.conformance.cases.FloatIncorrectType - (*DoubleNone)(nil), // 15: buf.validate.conformance.cases.DoubleNone - (*DoubleConst)(nil), // 16: buf.validate.conformance.cases.DoubleConst - (*DoubleIn)(nil), // 17: buf.validate.conformance.cases.DoubleIn - (*DoubleNotIn)(nil), // 18: buf.validate.conformance.cases.DoubleNotIn - (*DoubleLT)(nil), // 19: buf.validate.conformance.cases.DoubleLT - (*DoubleLTE)(nil), // 20: buf.validate.conformance.cases.DoubleLTE - (*DoubleGT)(nil), // 21: buf.validate.conformance.cases.DoubleGT - (*DoubleGTE)(nil), // 22: buf.validate.conformance.cases.DoubleGTE - (*DoubleGTLT)(nil), // 23: buf.validate.conformance.cases.DoubleGTLT - (*DoubleExLTGT)(nil), // 24: buf.validate.conformance.cases.DoubleExLTGT - (*DoubleGTELTE)(nil), // 25: buf.validate.conformance.cases.DoubleGTELTE - (*DoubleExGTELTE)(nil), // 26: buf.validate.conformance.cases.DoubleExGTELTE - (*DoubleFinite)(nil), // 27: buf.validate.conformance.cases.DoubleFinite - (*DoubleIgnore)(nil), // 28: buf.validate.conformance.cases.DoubleIgnore - (*DoubleIncorrectType)(nil), // 29: buf.validate.conformance.cases.DoubleIncorrectType - (*Int32None)(nil), // 30: buf.validate.conformance.cases.Int32None - (*Int32Const)(nil), // 31: buf.validate.conformance.cases.Int32Const - (*Int32In)(nil), // 32: buf.validate.conformance.cases.Int32In - (*Int32NotIn)(nil), // 33: buf.validate.conformance.cases.Int32NotIn - (*Int32LT)(nil), // 34: buf.validate.conformance.cases.Int32LT - (*Int32LTE)(nil), // 35: buf.validate.conformance.cases.Int32LTE - (*Int32GT)(nil), // 36: buf.validate.conformance.cases.Int32GT - (*Int32GTE)(nil), // 37: buf.validate.conformance.cases.Int32GTE - (*Int32GTLT)(nil), // 38: buf.validate.conformance.cases.Int32GTLT - (*Int32ExLTGT)(nil), // 39: buf.validate.conformance.cases.Int32ExLTGT - (*Int32GTELTE)(nil), // 40: buf.validate.conformance.cases.Int32GTELTE - (*Int32ExGTELTE)(nil), // 41: buf.validate.conformance.cases.Int32ExGTELTE - (*Int32Ignore)(nil), // 42: buf.validate.conformance.cases.Int32Ignore - (*Int32IncorrectType)(nil), // 43: buf.validate.conformance.cases.Int32IncorrectType - (*Int64None)(nil), // 44: buf.validate.conformance.cases.Int64None - (*Int64Const)(nil), // 45: buf.validate.conformance.cases.Int64Const - (*Int64In)(nil), // 46: buf.validate.conformance.cases.Int64In - (*Int64NotIn)(nil), // 47: buf.validate.conformance.cases.Int64NotIn - (*Int64LT)(nil), // 48: buf.validate.conformance.cases.Int64LT - (*Int64LTE)(nil), // 49: buf.validate.conformance.cases.Int64LTE - (*Int64GT)(nil), // 50: buf.validate.conformance.cases.Int64GT - (*Int64GTE)(nil), // 51: buf.validate.conformance.cases.Int64GTE - (*Int64GTLT)(nil), // 52: buf.validate.conformance.cases.Int64GTLT - (*Int64ExLTGT)(nil), // 53: buf.validate.conformance.cases.Int64ExLTGT - (*Int64GTELTE)(nil), // 54: buf.validate.conformance.cases.Int64GTELTE - (*Int64ExGTELTE)(nil), // 55: buf.validate.conformance.cases.Int64ExGTELTE - (*Int64Ignore)(nil), // 56: buf.validate.conformance.cases.Int64Ignore - (*Int64BigConstraints)(nil), // 57: buf.validate.conformance.cases.Int64BigConstraints - (*Int64IncorrectType)(nil), // 58: buf.validate.conformance.cases.Int64IncorrectType - (*UInt32None)(nil), // 59: buf.validate.conformance.cases.UInt32None - (*UInt32Const)(nil), // 60: buf.validate.conformance.cases.UInt32Const - (*UInt32In)(nil), // 61: buf.validate.conformance.cases.UInt32In - (*UInt32NotIn)(nil), // 62: buf.validate.conformance.cases.UInt32NotIn - (*UInt32LT)(nil), // 63: buf.validate.conformance.cases.UInt32LT - (*UInt32LTE)(nil), // 64: buf.validate.conformance.cases.UInt32LTE - (*UInt32GT)(nil), // 65: buf.validate.conformance.cases.UInt32GT - (*UInt32GTE)(nil), // 66: buf.validate.conformance.cases.UInt32GTE - (*UInt32GTLT)(nil), // 67: buf.validate.conformance.cases.UInt32GTLT - (*UInt32ExLTGT)(nil), // 68: buf.validate.conformance.cases.UInt32ExLTGT - (*UInt32GTELTE)(nil), // 69: buf.validate.conformance.cases.UInt32GTELTE - (*UInt32ExGTELTE)(nil), // 70: buf.validate.conformance.cases.UInt32ExGTELTE - (*UInt32Ignore)(nil), // 71: buf.validate.conformance.cases.UInt32Ignore - (*UInt32IncorrectType)(nil), // 72: buf.validate.conformance.cases.UInt32IncorrectType - (*UInt64None)(nil), // 73: buf.validate.conformance.cases.UInt64None - (*UInt64Const)(nil), // 74: buf.validate.conformance.cases.UInt64Const - (*UInt64In)(nil), // 75: buf.validate.conformance.cases.UInt64In - (*UInt64NotIn)(nil), // 76: buf.validate.conformance.cases.UInt64NotIn - (*UInt64LT)(nil), // 77: buf.validate.conformance.cases.UInt64LT - (*UInt64LTE)(nil), // 78: buf.validate.conformance.cases.UInt64LTE - (*UInt64GT)(nil), // 79: buf.validate.conformance.cases.UInt64GT - (*UInt64GTE)(nil), // 80: buf.validate.conformance.cases.UInt64GTE - (*UInt64GTLT)(nil), // 81: buf.validate.conformance.cases.UInt64GTLT - (*UInt64ExLTGT)(nil), // 82: buf.validate.conformance.cases.UInt64ExLTGT - (*UInt64GTELTE)(nil), // 83: buf.validate.conformance.cases.UInt64GTELTE - (*UInt64ExGTELTE)(nil), // 84: buf.validate.conformance.cases.UInt64ExGTELTE - (*UInt64Ignore)(nil), // 85: buf.validate.conformance.cases.UInt64Ignore - (*UInt64IncorrectType)(nil), // 86: buf.validate.conformance.cases.UInt64IncorrectType - (*SInt32None)(nil), // 87: buf.validate.conformance.cases.SInt32None - (*SInt32Const)(nil), // 88: buf.validate.conformance.cases.SInt32Const - (*SInt32In)(nil), // 89: buf.validate.conformance.cases.SInt32In - (*SInt32NotIn)(nil), // 90: buf.validate.conformance.cases.SInt32NotIn - (*SInt32LT)(nil), // 91: buf.validate.conformance.cases.SInt32LT - (*SInt32LTE)(nil), // 92: buf.validate.conformance.cases.SInt32LTE - (*SInt32GT)(nil), // 93: buf.validate.conformance.cases.SInt32GT - (*SInt32GTE)(nil), // 94: buf.validate.conformance.cases.SInt32GTE - (*SInt32GTLT)(nil), // 95: buf.validate.conformance.cases.SInt32GTLT - (*SInt32ExLTGT)(nil), // 96: buf.validate.conformance.cases.SInt32ExLTGT - (*SInt32GTELTE)(nil), // 97: buf.validate.conformance.cases.SInt32GTELTE - (*SInt32ExGTELTE)(nil), // 98: buf.validate.conformance.cases.SInt32ExGTELTE - (*SInt32Ignore)(nil), // 99: buf.validate.conformance.cases.SInt32Ignore - (*SInt32IncorrectType)(nil), // 100: buf.validate.conformance.cases.SInt32IncorrectType - (*SInt64None)(nil), // 101: buf.validate.conformance.cases.SInt64None - (*SInt64Const)(nil), // 102: buf.validate.conformance.cases.SInt64Const - (*SInt64In)(nil), // 103: buf.validate.conformance.cases.SInt64In - (*SInt64NotIn)(nil), // 104: buf.validate.conformance.cases.SInt64NotIn - (*SInt64LT)(nil), // 105: buf.validate.conformance.cases.SInt64LT - (*SInt64LTE)(nil), // 106: buf.validate.conformance.cases.SInt64LTE - (*SInt64GT)(nil), // 107: buf.validate.conformance.cases.SInt64GT - (*SInt64GTE)(nil), // 108: buf.validate.conformance.cases.SInt64GTE - (*SInt64GTLT)(nil), // 109: buf.validate.conformance.cases.SInt64GTLT - (*SInt64ExLTGT)(nil), // 110: buf.validate.conformance.cases.SInt64ExLTGT - (*SInt64GTELTE)(nil), // 111: buf.validate.conformance.cases.SInt64GTELTE - (*SInt64ExGTELTE)(nil), // 112: buf.validate.conformance.cases.SInt64ExGTELTE - (*SInt64Ignore)(nil), // 113: buf.validate.conformance.cases.SInt64Ignore - (*SInt64IncorrectType)(nil), // 114: buf.validate.conformance.cases.SInt64IncorrectType - (*Fixed32None)(nil), // 115: buf.validate.conformance.cases.Fixed32None - (*Fixed32Const)(nil), // 116: buf.validate.conformance.cases.Fixed32Const - (*Fixed32In)(nil), // 117: buf.validate.conformance.cases.Fixed32In - (*Fixed32NotIn)(nil), // 118: buf.validate.conformance.cases.Fixed32NotIn - (*Fixed32LT)(nil), // 119: buf.validate.conformance.cases.Fixed32LT - (*Fixed32LTE)(nil), // 120: buf.validate.conformance.cases.Fixed32LTE - (*Fixed32GT)(nil), // 121: buf.validate.conformance.cases.Fixed32GT - (*Fixed32GTE)(nil), // 122: buf.validate.conformance.cases.Fixed32GTE - (*Fixed32GTLT)(nil), // 123: buf.validate.conformance.cases.Fixed32GTLT - (*Fixed32ExLTGT)(nil), // 124: buf.validate.conformance.cases.Fixed32ExLTGT - (*Fixed32GTELTE)(nil), // 125: buf.validate.conformance.cases.Fixed32GTELTE - (*Fixed32ExGTELTE)(nil), // 126: buf.validate.conformance.cases.Fixed32ExGTELTE - (*Fixed32Ignore)(nil), // 127: buf.validate.conformance.cases.Fixed32Ignore - (*Fixed32IncorrectType)(nil), // 128: buf.validate.conformance.cases.Fixed32IncorrectType - (*Fixed64None)(nil), // 129: buf.validate.conformance.cases.Fixed64None - (*Fixed64Const)(nil), // 130: buf.validate.conformance.cases.Fixed64Const - (*Fixed64In)(nil), // 131: buf.validate.conformance.cases.Fixed64In - (*Fixed64NotIn)(nil), // 132: buf.validate.conformance.cases.Fixed64NotIn - (*Fixed64LT)(nil), // 133: buf.validate.conformance.cases.Fixed64LT - (*Fixed64LTE)(nil), // 134: buf.validate.conformance.cases.Fixed64LTE - (*Fixed64GT)(nil), // 135: buf.validate.conformance.cases.Fixed64GT - (*Fixed64GTE)(nil), // 136: buf.validate.conformance.cases.Fixed64GTE - (*Fixed64GTLT)(nil), // 137: buf.validate.conformance.cases.Fixed64GTLT - (*Fixed64ExLTGT)(nil), // 138: buf.validate.conformance.cases.Fixed64ExLTGT - (*Fixed64GTELTE)(nil), // 139: buf.validate.conformance.cases.Fixed64GTELTE - (*Fixed64ExGTELTE)(nil), // 140: buf.validate.conformance.cases.Fixed64ExGTELTE - (*Fixed64Ignore)(nil), // 141: buf.validate.conformance.cases.Fixed64Ignore - (*Fixed64IncorrectType)(nil), // 142: buf.validate.conformance.cases.Fixed64IncorrectType - (*SFixed32None)(nil), // 143: buf.validate.conformance.cases.SFixed32None - (*SFixed32Const)(nil), // 144: buf.validate.conformance.cases.SFixed32Const - (*SFixed32In)(nil), // 145: buf.validate.conformance.cases.SFixed32In - (*SFixed32NotIn)(nil), // 146: buf.validate.conformance.cases.SFixed32NotIn - (*SFixed32LT)(nil), // 147: buf.validate.conformance.cases.SFixed32LT - (*SFixed32LTE)(nil), // 148: buf.validate.conformance.cases.SFixed32LTE - (*SFixed32GT)(nil), // 149: buf.validate.conformance.cases.SFixed32GT - (*SFixed32GTE)(nil), // 150: buf.validate.conformance.cases.SFixed32GTE - (*SFixed32GTLT)(nil), // 151: buf.validate.conformance.cases.SFixed32GTLT - (*SFixed32ExLTGT)(nil), // 152: buf.validate.conformance.cases.SFixed32ExLTGT - (*SFixed32GTELTE)(nil), // 153: buf.validate.conformance.cases.SFixed32GTELTE - (*SFixed32ExGTELTE)(nil), // 154: buf.validate.conformance.cases.SFixed32ExGTELTE - (*SFixed32Ignore)(nil), // 155: buf.validate.conformance.cases.SFixed32Ignore - (*SFixed32IncorrectType)(nil), // 156: buf.validate.conformance.cases.SFixed32IncorrectType - (*SFixed64None)(nil), // 157: buf.validate.conformance.cases.SFixed64None - (*SFixed64Const)(nil), // 158: buf.validate.conformance.cases.SFixed64Const - (*SFixed64In)(nil), // 159: buf.validate.conformance.cases.SFixed64In - (*SFixed64NotIn)(nil), // 160: buf.validate.conformance.cases.SFixed64NotIn - (*SFixed64LT)(nil), // 161: buf.validate.conformance.cases.SFixed64LT - (*SFixed64LTE)(nil), // 162: buf.validate.conformance.cases.SFixed64LTE - (*SFixed64GT)(nil), // 163: buf.validate.conformance.cases.SFixed64GT - (*SFixed64GTE)(nil), // 164: buf.validate.conformance.cases.SFixed64GTE - (*SFixed64GTLT)(nil), // 165: buf.validate.conformance.cases.SFixed64GTLT - (*SFixed64ExLTGT)(nil), // 166: buf.validate.conformance.cases.SFixed64ExLTGT - (*SFixed64GTELTE)(nil), // 167: buf.validate.conformance.cases.SFixed64GTELTE - (*SFixed64ExGTELTE)(nil), // 168: buf.validate.conformance.cases.SFixed64ExGTELTE - (*SFixed64Ignore)(nil), // 169: buf.validate.conformance.cases.SFixed64Ignore - (*SFixed64IncorrectType)(nil), // 170: buf.validate.conformance.cases.SFixed64IncorrectType - (*Int64LTEOptional)(nil), // 171: buf.validate.conformance.cases.Int64LTEOptional + (*FloatNotFinite)(nil), // 13: buf.validate.conformance.cases.FloatNotFinite + (*FloatIgnore)(nil), // 14: buf.validate.conformance.cases.FloatIgnore + (*FloatIncorrectType)(nil), // 15: buf.validate.conformance.cases.FloatIncorrectType + (*FloatExample)(nil), // 16: buf.validate.conformance.cases.FloatExample + (*DoubleNone)(nil), // 17: buf.validate.conformance.cases.DoubleNone + (*DoubleConst)(nil), // 18: buf.validate.conformance.cases.DoubleConst + (*DoubleIn)(nil), // 19: buf.validate.conformance.cases.DoubleIn + (*DoubleNotIn)(nil), // 20: buf.validate.conformance.cases.DoubleNotIn + (*DoubleLT)(nil), // 21: buf.validate.conformance.cases.DoubleLT + (*DoubleLTE)(nil), // 22: buf.validate.conformance.cases.DoubleLTE + (*DoubleGT)(nil), // 23: buf.validate.conformance.cases.DoubleGT + (*DoubleGTE)(nil), // 24: buf.validate.conformance.cases.DoubleGTE + (*DoubleGTLT)(nil), // 25: buf.validate.conformance.cases.DoubleGTLT + (*DoubleExLTGT)(nil), // 26: buf.validate.conformance.cases.DoubleExLTGT + (*DoubleGTELTE)(nil), // 27: buf.validate.conformance.cases.DoubleGTELTE + (*DoubleExGTELTE)(nil), // 28: buf.validate.conformance.cases.DoubleExGTELTE + (*DoubleFinite)(nil), // 29: buf.validate.conformance.cases.DoubleFinite + (*DoubleNotFinite)(nil), // 30: buf.validate.conformance.cases.DoubleNotFinite + (*DoubleIgnore)(nil), // 31: buf.validate.conformance.cases.DoubleIgnore + (*DoubleIncorrectType)(nil), // 32: buf.validate.conformance.cases.DoubleIncorrectType + (*DoubleExample)(nil), // 33: buf.validate.conformance.cases.DoubleExample + (*Int32None)(nil), // 34: buf.validate.conformance.cases.Int32None + (*Int32Const)(nil), // 35: buf.validate.conformance.cases.Int32Const + (*Int32In)(nil), // 36: buf.validate.conformance.cases.Int32In + (*Int32NotIn)(nil), // 37: buf.validate.conformance.cases.Int32NotIn + (*Int32LT)(nil), // 38: buf.validate.conformance.cases.Int32LT + (*Int32LTE)(nil), // 39: buf.validate.conformance.cases.Int32LTE + (*Int32GT)(nil), // 40: buf.validate.conformance.cases.Int32GT + (*Int32GTE)(nil), // 41: buf.validate.conformance.cases.Int32GTE + (*Int32GTLT)(nil), // 42: buf.validate.conformance.cases.Int32GTLT + (*Int32ExLTGT)(nil), // 43: buf.validate.conformance.cases.Int32ExLTGT + (*Int32GTELTE)(nil), // 44: buf.validate.conformance.cases.Int32GTELTE + (*Int32ExGTELTE)(nil), // 45: buf.validate.conformance.cases.Int32ExGTELTE + (*Int32Ignore)(nil), // 46: buf.validate.conformance.cases.Int32Ignore + (*Int32IncorrectType)(nil), // 47: buf.validate.conformance.cases.Int32IncorrectType + (*Int32Example)(nil), // 48: buf.validate.conformance.cases.Int32Example + (*Int64None)(nil), // 49: buf.validate.conformance.cases.Int64None + (*Int64Const)(nil), // 50: buf.validate.conformance.cases.Int64Const + (*Int64In)(nil), // 51: buf.validate.conformance.cases.Int64In + (*Int64NotIn)(nil), // 52: buf.validate.conformance.cases.Int64NotIn + (*Int64LT)(nil), // 53: buf.validate.conformance.cases.Int64LT + (*Int64LTE)(nil), // 54: buf.validate.conformance.cases.Int64LTE + (*Int64GT)(nil), // 55: buf.validate.conformance.cases.Int64GT + (*Int64GTE)(nil), // 56: buf.validate.conformance.cases.Int64GTE + (*Int64GTLT)(nil), // 57: buf.validate.conformance.cases.Int64GTLT + (*Int64ExLTGT)(nil), // 58: buf.validate.conformance.cases.Int64ExLTGT + (*Int64GTELTE)(nil), // 59: buf.validate.conformance.cases.Int64GTELTE + (*Int64ExGTELTE)(nil), // 60: buf.validate.conformance.cases.Int64ExGTELTE + (*Int64Ignore)(nil), // 61: buf.validate.conformance.cases.Int64Ignore + (*Int64BigConstraints)(nil), // 62: buf.validate.conformance.cases.Int64BigConstraints + (*Int64IncorrectType)(nil), // 63: buf.validate.conformance.cases.Int64IncorrectType + (*Int64Example)(nil), // 64: buf.validate.conformance.cases.Int64Example + (*UInt32None)(nil), // 65: buf.validate.conformance.cases.UInt32None + (*UInt32Const)(nil), // 66: buf.validate.conformance.cases.UInt32Const + (*UInt32In)(nil), // 67: buf.validate.conformance.cases.UInt32In + (*UInt32NotIn)(nil), // 68: buf.validate.conformance.cases.UInt32NotIn + (*UInt32LT)(nil), // 69: buf.validate.conformance.cases.UInt32LT + (*UInt32LTE)(nil), // 70: buf.validate.conformance.cases.UInt32LTE + (*UInt32GT)(nil), // 71: buf.validate.conformance.cases.UInt32GT + (*UInt32GTE)(nil), // 72: buf.validate.conformance.cases.UInt32GTE + (*UInt32GTLT)(nil), // 73: buf.validate.conformance.cases.UInt32GTLT + (*UInt32ExLTGT)(nil), // 74: buf.validate.conformance.cases.UInt32ExLTGT + (*UInt32GTELTE)(nil), // 75: buf.validate.conformance.cases.UInt32GTELTE + (*UInt32ExGTELTE)(nil), // 76: buf.validate.conformance.cases.UInt32ExGTELTE + (*UInt32Ignore)(nil), // 77: buf.validate.conformance.cases.UInt32Ignore + (*UInt32IncorrectType)(nil), // 78: buf.validate.conformance.cases.UInt32IncorrectType + (*UInt32Example)(nil), // 79: buf.validate.conformance.cases.UInt32Example + (*UInt64None)(nil), // 80: buf.validate.conformance.cases.UInt64None + (*UInt64Const)(nil), // 81: buf.validate.conformance.cases.UInt64Const + (*UInt64In)(nil), // 82: buf.validate.conformance.cases.UInt64In + (*UInt64NotIn)(nil), // 83: buf.validate.conformance.cases.UInt64NotIn + (*UInt64LT)(nil), // 84: buf.validate.conformance.cases.UInt64LT + (*UInt64LTE)(nil), // 85: buf.validate.conformance.cases.UInt64LTE + (*UInt64GT)(nil), // 86: buf.validate.conformance.cases.UInt64GT + (*UInt64GTE)(nil), // 87: buf.validate.conformance.cases.UInt64GTE + (*UInt64GTLT)(nil), // 88: buf.validate.conformance.cases.UInt64GTLT + (*UInt64ExLTGT)(nil), // 89: buf.validate.conformance.cases.UInt64ExLTGT + (*UInt64GTELTE)(nil), // 90: buf.validate.conformance.cases.UInt64GTELTE + (*UInt64ExGTELTE)(nil), // 91: buf.validate.conformance.cases.UInt64ExGTELTE + (*UInt64Ignore)(nil), // 92: buf.validate.conformance.cases.UInt64Ignore + (*UInt64IncorrectType)(nil), // 93: buf.validate.conformance.cases.UInt64IncorrectType + (*UInt64Example)(nil), // 94: buf.validate.conformance.cases.UInt64Example + (*SInt32None)(nil), // 95: buf.validate.conformance.cases.SInt32None + (*SInt32Const)(nil), // 96: buf.validate.conformance.cases.SInt32Const + (*SInt32In)(nil), // 97: buf.validate.conformance.cases.SInt32In + (*SInt32NotIn)(nil), // 98: buf.validate.conformance.cases.SInt32NotIn + (*SInt32LT)(nil), // 99: buf.validate.conformance.cases.SInt32LT + (*SInt32LTE)(nil), // 100: buf.validate.conformance.cases.SInt32LTE + (*SInt32GT)(nil), // 101: buf.validate.conformance.cases.SInt32GT + (*SInt32GTE)(nil), // 102: buf.validate.conformance.cases.SInt32GTE + (*SInt32GTLT)(nil), // 103: buf.validate.conformance.cases.SInt32GTLT + (*SInt32ExLTGT)(nil), // 104: buf.validate.conformance.cases.SInt32ExLTGT + (*SInt32GTELTE)(nil), // 105: buf.validate.conformance.cases.SInt32GTELTE + (*SInt32ExGTELTE)(nil), // 106: buf.validate.conformance.cases.SInt32ExGTELTE + (*SInt32Ignore)(nil), // 107: buf.validate.conformance.cases.SInt32Ignore + (*SInt32IncorrectType)(nil), // 108: buf.validate.conformance.cases.SInt32IncorrectType + (*SInt32Example)(nil), // 109: buf.validate.conformance.cases.SInt32Example + (*SInt64None)(nil), // 110: buf.validate.conformance.cases.SInt64None + (*SInt64Const)(nil), // 111: buf.validate.conformance.cases.SInt64Const + (*SInt64In)(nil), // 112: buf.validate.conformance.cases.SInt64In + (*SInt64NotIn)(nil), // 113: buf.validate.conformance.cases.SInt64NotIn + (*SInt64LT)(nil), // 114: buf.validate.conformance.cases.SInt64LT + (*SInt64LTE)(nil), // 115: buf.validate.conformance.cases.SInt64LTE + (*SInt64GT)(nil), // 116: buf.validate.conformance.cases.SInt64GT + (*SInt64GTE)(nil), // 117: buf.validate.conformance.cases.SInt64GTE + (*SInt64GTLT)(nil), // 118: buf.validate.conformance.cases.SInt64GTLT + (*SInt64ExLTGT)(nil), // 119: buf.validate.conformance.cases.SInt64ExLTGT + (*SInt64GTELTE)(nil), // 120: buf.validate.conformance.cases.SInt64GTELTE + (*SInt64ExGTELTE)(nil), // 121: buf.validate.conformance.cases.SInt64ExGTELTE + (*SInt64Ignore)(nil), // 122: buf.validate.conformance.cases.SInt64Ignore + (*SInt64IncorrectType)(nil), // 123: buf.validate.conformance.cases.SInt64IncorrectType + (*SInt64Example)(nil), // 124: buf.validate.conformance.cases.SInt64Example + (*Fixed32None)(nil), // 125: buf.validate.conformance.cases.Fixed32None + (*Fixed32Const)(nil), // 126: buf.validate.conformance.cases.Fixed32Const + (*Fixed32In)(nil), // 127: buf.validate.conformance.cases.Fixed32In + (*Fixed32NotIn)(nil), // 128: buf.validate.conformance.cases.Fixed32NotIn + (*Fixed32LT)(nil), // 129: buf.validate.conformance.cases.Fixed32LT + (*Fixed32LTE)(nil), // 130: buf.validate.conformance.cases.Fixed32LTE + (*Fixed32GT)(nil), // 131: buf.validate.conformance.cases.Fixed32GT + (*Fixed32GTE)(nil), // 132: buf.validate.conformance.cases.Fixed32GTE + (*Fixed32GTLT)(nil), // 133: buf.validate.conformance.cases.Fixed32GTLT + (*Fixed32ExLTGT)(nil), // 134: buf.validate.conformance.cases.Fixed32ExLTGT + (*Fixed32GTELTE)(nil), // 135: buf.validate.conformance.cases.Fixed32GTELTE + (*Fixed32ExGTELTE)(nil), // 136: buf.validate.conformance.cases.Fixed32ExGTELTE + (*Fixed32Ignore)(nil), // 137: buf.validate.conformance.cases.Fixed32Ignore + (*Fixed32IncorrectType)(nil), // 138: buf.validate.conformance.cases.Fixed32IncorrectType + (*Fixed32Example)(nil), // 139: buf.validate.conformance.cases.Fixed32Example + (*Fixed64None)(nil), // 140: buf.validate.conformance.cases.Fixed64None + (*Fixed64Const)(nil), // 141: buf.validate.conformance.cases.Fixed64Const + (*Fixed64In)(nil), // 142: buf.validate.conformance.cases.Fixed64In + (*Fixed64NotIn)(nil), // 143: buf.validate.conformance.cases.Fixed64NotIn + (*Fixed64LT)(nil), // 144: buf.validate.conformance.cases.Fixed64LT + (*Fixed64LTE)(nil), // 145: buf.validate.conformance.cases.Fixed64LTE + (*Fixed64GT)(nil), // 146: buf.validate.conformance.cases.Fixed64GT + (*Fixed64GTE)(nil), // 147: buf.validate.conformance.cases.Fixed64GTE + (*Fixed64GTLT)(nil), // 148: buf.validate.conformance.cases.Fixed64GTLT + (*Fixed64ExLTGT)(nil), // 149: buf.validate.conformance.cases.Fixed64ExLTGT + (*Fixed64GTELTE)(nil), // 150: buf.validate.conformance.cases.Fixed64GTELTE + (*Fixed64ExGTELTE)(nil), // 151: buf.validate.conformance.cases.Fixed64ExGTELTE + (*Fixed64Ignore)(nil), // 152: buf.validate.conformance.cases.Fixed64Ignore + (*Fixed64IncorrectType)(nil), // 153: buf.validate.conformance.cases.Fixed64IncorrectType + (*Fixed64Example)(nil), // 154: buf.validate.conformance.cases.Fixed64Example + (*SFixed32None)(nil), // 155: buf.validate.conformance.cases.SFixed32None + (*SFixed32Const)(nil), // 156: buf.validate.conformance.cases.SFixed32Const + (*SFixed32In)(nil), // 157: buf.validate.conformance.cases.SFixed32In + (*SFixed32NotIn)(nil), // 158: buf.validate.conformance.cases.SFixed32NotIn + (*SFixed32LT)(nil), // 159: buf.validate.conformance.cases.SFixed32LT + (*SFixed32LTE)(nil), // 160: buf.validate.conformance.cases.SFixed32LTE + (*SFixed32GT)(nil), // 161: buf.validate.conformance.cases.SFixed32GT + (*SFixed32GTE)(nil), // 162: buf.validate.conformance.cases.SFixed32GTE + (*SFixed32GTLT)(nil), // 163: buf.validate.conformance.cases.SFixed32GTLT + (*SFixed32ExLTGT)(nil), // 164: buf.validate.conformance.cases.SFixed32ExLTGT + (*SFixed32GTELTE)(nil), // 165: buf.validate.conformance.cases.SFixed32GTELTE + (*SFixed32ExGTELTE)(nil), // 166: buf.validate.conformance.cases.SFixed32ExGTELTE + (*SFixed32Ignore)(nil), // 167: buf.validate.conformance.cases.SFixed32Ignore + (*SFixed32IncorrectType)(nil), // 168: buf.validate.conformance.cases.SFixed32IncorrectType + (*SFixed32Example)(nil), // 169: buf.validate.conformance.cases.SFixed32Example + (*SFixed64None)(nil), // 170: buf.validate.conformance.cases.SFixed64None + (*SFixed64Const)(nil), // 171: buf.validate.conformance.cases.SFixed64Const + (*SFixed64In)(nil), // 172: buf.validate.conformance.cases.SFixed64In + (*SFixed64NotIn)(nil), // 173: buf.validate.conformance.cases.SFixed64NotIn + (*SFixed64LT)(nil), // 174: buf.validate.conformance.cases.SFixed64LT + (*SFixed64LTE)(nil), // 175: buf.validate.conformance.cases.SFixed64LTE + (*SFixed64GT)(nil), // 176: buf.validate.conformance.cases.SFixed64GT + (*SFixed64GTE)(nil), // 177: buf.validate.conformance.cases.SFixed64GTE + (*SFixed64GTLT)(nil), // 178: buf.validate.conformance.cases.SFixed64GTLT + (*SFixed64ExLTGT)(nil), // 179: buf.validate.conformance.cases.SFixed64ExLTGT + (*SFixed64GTELTE)(nil), // 180: buf.validate.conformance.cases.SFixed64GTELTE + (*SFixed64ExGTELTE)(nil), // 181: buf.validate.conformance.cases.SFixed64ExGTELTE + (*SFixed64Ignore)(nil), // 182: buf.validate.conformance.cases.SFixed64Ignore + (*SFixed64IncorrectType)(nil), // 183: buf.validate.conformance.cases.SFixed64IncorrectType + (*SFixed64Example)(nil), // 184: buf.validate.conformance.cases.SFixed64Example + (*Int64LTEOptional)(nil), // 185: buf.validate.conformance.cases.Int64LTEOptional } var file_buf_validate_conformance_cases_numbers_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -9126,7 +9838,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[13].Exporter = func(v any, i int) any { - switch v := v.(*FloatIgnore); i { + switch v := v.(*FloatNotFinite); i { case 0: return &v.state case 1: @@ -9138,7 +9850,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[14].Exporter = func(v any, i int) any { - switch v := v.(*FloatIncorrectType); i { + switch v := v.(*FloatIgnore); i { case 0: return &v.state case 1: @@ -9150,7 +9862,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[15].Exporter = func(v any, i int) any { - switch v := v.(*DoubleNone); i { + switch v := v.(*FloatIncorrectType); i { case 0: return &v.state case 1: @@ -9162,7 +9874,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[16].Exporter = func(v any, i int) any { - switch v := v.(*DoubleConst); i { + switch v := v.(*FloatExample); i { case 0: return &v.state case 1: @@ -9174,7 +9886,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[17].Exporter = func(v any, i int) any { - switch v := v.(*DoubleIn); i { + switch v := v.(*DoubleNone); i { case 0: return &v.state case 1: @@ -9186,7 +9898,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[18].Exporter = func(v any, i int) any { - switch v := v.(*DoubleNotIn); i { + switch v := v.(*DoubleConst); i { case 0: return &v.state case 1: @@ -9198,7 +9910,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[19].Exporter = func(v any, i int) any { - switch v := v.(*DoubleLT); i { + switch v := v.(*DoubleIn); i { case 0: return &v.state case 1: @@ -9210,7 +9922,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[20].Exporter = func(v any, i int) any { - switch v := v.(*DoubleLTE); i { + switch v := v.(*DoubleNotIn); i { case 0: return &v.state case 1: @@ -9222,7 +9934,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[21].Exporter = func(v any, i int) any { - switch v := v.(*DoubleGT); i { + switch v := v.(*DoubleLT); i { case 0: return &v.state case 1: @@ -9234,7 +9946,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[22].Exporter = func(v any, i int) any { - switch v := v.(*DoubleGTE); i { + switch v := v.(*DoubleLTE); i { case 0: return &v.state case 1: @@ -9246,7 +9958,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[23].Exporter = func(v any, i int) any { - switch v := v.(*DoubleGTLT); i { + switch v := v.(*DoubleGT); i { case 0: return &v.state case 1: @@ -9258,7 +9970,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[24].Exporter = func(v any, i int) any { - switch v := v.(*DoubleExLTGT); i { + switch v := v.(*DoubleGTE); i { case 0: return &v.state case 1: @@ -9270,7 +9982,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[25].Exporter = func(v any, i int) any { - switch v := v.(*DoubleGTELTE); i { + switch v := v.(*DoubleGTLT); i { case 0: return &v.state case 1: @@ -9282,7 +9994,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[26].Exporter = func(v any, i int) any { - switch v := v.(*DoubleExGTELTE); i { + switch v := v.(*DoubleExLTGT); i { case 0: return &v.state case 1: @@ -9294,7 +10006,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[27].Exporter = func(v any, i int) any { - switch v := v.(*DoubleFinite); i { + switch v := v.(*DoubleGTELTE); i { case 0: return &v.state case 1: @@ -9306,7 +10018,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[28].Exporter = func(v any, i int) any { - switch v := v.(*DoubleIgnore); i { + switch v := v.(*DoubleExGTELTE); i { case 0: return &v.state case 1: @@ -9318,7 +10030,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[29].Exporter = func(v any, i int) any { - switch v := v.(*DoubleIncorrectType); i { + switch v := v.(*DoubleFinite); i { case 0: return &v.state case 1: @@ -9330,7 +10042,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[30].Exporter = func(v any, i int) any { - switch v := v.(*Int32None); i { + switch v := v.(*DoubleNotFinite); i { case 0: return &v.state case 1: @@ -9342,7 +10054,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[31].Exporter = func(v any, i int) any { - switch v := v.(*Int32Const); i { + switch v := v.(*DoubleIgnore); i { case 0: return &v.state case 1: @@ -9354,7 +10066,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[32].Exporter = func(v any, i int) any { - switch v := v.(*Int32In); i { + switch v := v.(*DoubleIncorrectType); i { case 0: return &v.state case 1: @@ -9366,7 +10078,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[33].Exporter = func(v any, i int) any { - switch v := v.(*Int32NotIn); i { + switch v := v.(*DoubleExample); i { case 0: return &v.state case 1: @@ -9378,7 +10090,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[34].Exporter = func(v any, i int) any { - switch v := v.(*Int32LT); i { + switch v := v.(*Int32None); i { case 0: return &v.state case 1: @@ -9390,7 +10102,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[35].Exporter = func(v any, i int) any { - switch v := v.(*Int32LTE); i { + switch v := v.(*Int32Const); i { case 0: return &v.state case 1: @@ -9402,7 +10114,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[36].Exporter = func(v any, i int) any { - switch v := v.(*Int32GT); i { + switch v := v.(*Int32In); i { case 0: return &v.state case 1: @@ -9414,7 +10126,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[37].Exporter = func(v any, i int) any { - switch v := v.(*Int32GTE); i { + switch v := v.(*Int32NotIn); i { case 0: return &v.state case 1: @@ -9426,7 +10138,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[38].Exporter = func(v any, i int) any { - switch v := v.(*Int32GTLT); i { + switch v := v.(*Int32LT); i { case 0: return &v.state case 1: @@ -9438,7 +10150,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[39].Exporter = func(v any, i int) any { - switch v := v.(*Int32ExLTGT); i { + switch v := v.(*Int32LTE); i { case 0: return &v.state case 1: @@ -9450,7 +10162,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[40].Exporter = func(v any, i int) any { - switch v := v.(*Int32GTELTE); i { + switch v := v.(*Int32GT); i { case 0: return &v.state case 1: @@ -9462,7 +10174,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[41].Exporter = func(v any, i int) any { - switch v := v.(*Int32ExGTELTE); i { + switch v := v.(*Int32GTE); i { case 0: return &v.state case 1: @@ -9474,7 +10186,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[42].Exporter = func(v any, i int) any { - switch v := v.(*Int32Ignore); i { + switch v := v.(*Int32GTLT); i { case 0: return &v.state case 1: @@ -9486,7 +10198,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[43].Exporter = func(v any, i int) any { - switch v := v.(*Int32IncorrectType); i { + switch v := v.(*Int32ExLTGT); i { case 0: return &v.state case 1: @@ -9498,7 +10210,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[44].Exporter = func(v any, i int) any { - switch v := v.(*Int64None); i { + switch v := v.(*Int32GTELTE); i { case 0: return &v.state case 1: @@ -9510,7 +10222,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[45].Exporter = func(v any, i int) any { - switch v := v.(*Int64Const); i { + switch v := v.(*Int32ExGTELTE); i { case 0: return &v.state case 1: @@ -9522,7 +10234,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[46].Exporter = func(v any, i int) any { - switch v := v.(*Int64In); i { + switch v := v.(*Int32Ignore); i { case 0: return &v.state case 1: @@ -9534,7 +10246,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[47].Exporter = func(v any, i int) any { - switch v := v.(*Int64NotIn); i { + switch v := v.(*Int32IncorrectType); i { case 0: return &v.state case 1: @@ -9546,7 +10258,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[48].Exporter = func(v any, i int) any { - switch v := v.(*Int64LT); i { + switch v := v.(*Int32Example); i { case 0: return &v.state case 1: @@ -9558,7 +10270,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[49].Exporter = func(v any, i int) any { - switch v := v.(*Int64LTE); i { + switch v := v.(*Int64None); i { case 0: return &v.state case 1: @@ -9570,7 +10282,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[50].Exporter = func(v any, i int) any { - switch v := v.(*Int64GT); i { + switch v := v.(*Int64Const); i { case 0: return &v.state case 1: @@ -9582,7 +10294,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[51].Exporter = func(v any, i int) any { - switch v := v.(*Int64GTE); i { + switch v := v.(*Int64In); i { case 0: return &v.state case 1: @@ -9594,7 +10306,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[52].Exporter = func(v any, i int) any { - switch v := v.(*Int64GTLT); i { + switch v := v.(*Int64NotIn); i { case 0: return &v.state case 1: @@ -9606,7 +10318,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[53].Exporter = func(v any, i int) any { - switch v := v.(*Int64ExLTGT); i { + switch v := v.(*Int64LT); i { case 0: return &v.state case 1: @@ -9618,7 +10330,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[54].Exporter = func(v any, i int) any { - switch v := v.(*Int64GTELTE); i { + switch v := v.(*Int64LTE); i { case 0: return &v.state case 1: @@ -9630,7 +10342,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[55].Exporter = func(v any, i int) any { - switch v := v.(*Int64ExGTELTE); i { + switch v := v.(*Int64GT); i { case 0: return &v.state case 1: @@ -9642,7 +10354,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[56].Exporter = func(v any, i int) any { - switch v := v.(*Int64Ignore); i { + switch v := v.(*Int64GTE); i { case 0: return &v.state case 1: @@ -9654,7 +10366,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[57].Exporter = func(v any, i int) any { - switch v := v.(*Int64BigConstraints); i { + switch v := v.(*Int64GTLT); i { case 0: return &v.state case 1: @@ -9666,7 +10378,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[58].Exporter = func(v any, i int) any { - switch v := v.(*Int64IncorrectType); i { + switch v := v.(*Int64ExLTGT); i { case 0: return &v.state case 1: @@ -9678,7 +10390,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[59].Exporter = func(v any, i int) any { - switch v := v.(*UInt32None); i { + switch v := v.(*Int64GTELTE); i { case 0: return &v.state case 1: @@ -9690,7 +10402,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[60].Exporter = func(v any, i int) any { - switch v := v.(*UInt32Const); i { + switch v := v.(*Int64ExGTELTE); i { case 0: return &v.state case 1: @@ -9702,7 +10414,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[61].Exporter = func(v any, i int) any { - switch v := v.(*UInt32In); i { + switch v := v.(*Int64Ignore); i { case 0: return &v.state case 1: @@ -9714,7 +10426,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[62].Exporter = func(v any, i int) any { - switch v := v.(*UInt32NotIn); i { + switch v := v.(*Int64BigConstraints); i { case 0: return &v.state case 1: @@ -9726,7 +10438,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[63].Exporter = func(v any, i int) any { - switch v := v.(*UInt32LT); i { + switch v := v.(*Int64IncorrectType); i { case 0: return &v.state case 1: @@ -9738,7 +10450,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[64].Exporter = func(v any, i int) any { - switch v := v.(*UInt32LTE); i { + switch v := v.(*Int64Example); i { case 0: return &v.state case 1: @@ -9750,7 +10462,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[65].Exporter = func(v any, i int) any { - switch v := v.(*UInt32GT); i { + switch v := v.(*UInt32None); i { case 0: return &v.state case 1: @@ -9762,7 +10474,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[66].Exporter = func(v any, i int) any { - switch v := v.(*UInt32GTE); i { + switch v := v.(*UInt32Const); i { case 0: return &v.state case 1: @@ -9774,7 +10486,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[67].Exporter = func(v any, i int) any { - switch v := v.(*UInt32GTLT); i { + switch v := v.(*UInt32In); i { case 0: return &v.state case 1: @@ -9786,7 +10498,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[68].Exporter = func(v any, i int) any { - switch v := v.(*UInt32ExLTGT); i { + switch v := v.(*UInt32NotIn); i { case 0: return &v.state case 1: @@ -9798,7 +10510,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[69].Exporter = func(v any, i int) any { - switch v := v.(*UInt32GTELTE); i { + switch v := v.(*UInt32LT); i { case 0: return &v.state case 1: @@ -9810,7 +10522,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[70].Exporter = func(v any, i int) any { - switch v := v.(*UInt32ExGTELTE); i { + switch v := v.(*UInt32LTE); i { case 0: return &v.state case 1: @@ -9822,7 +10534,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[71].Exporter = func(v any, i int) any { - switch v := v.(*UInt32Ignore); i { + switch v := v.(*UInt32GT); i { case 0: return &v.state case 1: @@ -9834,7 +10546,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[72].Exporter = func(v any, i int) any { - switch v := v.(*UInt32IncorrectType); i { + switch v := v.(*UInt32GTE); i { case 0: return &v.state case 1: @@ -9846,7 +10558,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[73].Exporter = func(v any, i int) any { - switch v := v.(*UInt64None); i { + switch v := v.(*UInt32GTLT); i { case 0: return &v.state case 1: @@ -9858,7 +10570,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[74].Exporter = func(v any, i int) any { - switch v := v.(*UInt64Const); i { + switch v := v.(*UInt32ExLTGT); i { case 0: return &v.state case 1: @@ -9870,6 +10582,90 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } file_buf_validate_conformance_cases_numbers_proto_msgTypes[75].Exporter = func(v any, i int) any { + switch v := v.(*UInt32GTELTE); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[76].Exporter = func(v any, i int) any { + switch v := v.(*UInt32ExGTELTE); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[77].Exporter = func(v any, i int) any { + switch v := v.(*UInt32Ignore); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[78].Exporter = func(v any, i int) any { + switch v := v.(*UInt32IncorrectType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[79].Exporter = func(v any, i int) any { + switch v := v.(*UInt32Example); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[80].Exporter = func(v any, i int) any { + switch v := v.(*UInt64None); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[81].Exporter = func(v any, i int) any { + switch v := v.(*UInt64Const); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[82].Exporter = func(v any, i int) any { switch v := v.(*UInt64In); i { case 0: return &v.state @@ -9881,7 +10677,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[76].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[83].Exporter = func(v any, i int) any { switch v := v.(*UInt64NotIn); i { case 0: return &v.state @@ -9893,7 +10689,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[77].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[84].Exporter = func(v any, i int) any { switch v := v.(*UInt64LT); i { case 0: return &v.state @@ -9905,7 +10701,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[78].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[85].Exporter = func(v any, i int) any { switch v := v.(*UInt64LTE); i { case 0: return &v.state @@ -9917,7 +10713,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[79].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[86].Exporter = func(v any, i int) any { switch v := v.(*UInt64GT); i { case 0: return &v.state @@ -9929,7 +10725,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[80].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[87].Exporter = func(v any, i int) any { switch v := v.(*UInt64GTE); i { case 0: return &v.state @@ -9941,7 +10737,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[81].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[88].Exporter = func(v any, i int) any { switch v := v.(*UInt64GTLT); i { case 0: return &v.state @@ -9953,7 +10749,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[82].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[89].Exporter = func(v any, i int) any { switch v := v.(*UInt64ExLTGT); i { case 0: return &v.state @@ -9965,7 +10761,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[83].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[90].Exporter = func(v any, i int) any { switch v := v.(*UInt64GTELTE); i { case 0: return &v.state @@ -9977,7 +10773,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[84].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[91].Exporter = func(v any, i int) any { switch v := v.(*UInt64ExGTELTE); i { case 0: return &v.state @@ -9989,7 +10785,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[85].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[92].Exporter = func(v any, i int) any { switch v := v.(*UInt64Ignore); i { case 0: return &v.state @@ -10001,7 +10797,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[86].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[93].Exporter = func(v any, i int) any { switch v := v.(*UInt64IncorrectType); i { case 0: return &v.state @@ -10013,7 +10809,19 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[87].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[94].Exporter = func(v any, i int) any { + switch v := v.(*UInt64Example); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[95].Exporter = func(v any, i int) any { switch v := v.(*SInt32None); i { case 0: return &v.state @@ -10025,7 +10833,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[88].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[96].Exporter = func(v any, i int) any { switch v := v.(*SInt32Const); i { case 0: return &v.state @@ -10037,7 +10845,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[89].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[97].Exporter = func(v any, i int) any { switch v := v.(*SInt32In); i { case 0: return &v.state @@ -10049,7 +10857,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[90].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[98].Exporter = func(v any, i int) any { switch v := v.(*SInt32NotIn); i { case 0: return &v.state @@ -10061,7 +10869,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[91].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[99].Exporter = func(v any, i int) any { switch v := v.(*SInt32LT); i { case 0: return &v.state @@ -10073,7 +10881,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[92].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[100].Exporter = func(v any, i int) any { switch v := v.(*SInt32LTE); i { case 0: return &v.state @@ -10085,7 +10893,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[93].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[101].Exporter = func(v any, i int) any { switch v := v.(*SInt32GT); i { case 0: return &v.state @@ -10097,7 +10905,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[94].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[102].Exporter = func(v any, i int) any { switch v := v.(*SInt32GTE); i { case 0: return &v.state @@ -10109,7 +10917,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[95].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[103].Exporter = func(v any, i int) any { switch v := v.(*SInt32GTLT); i { case 0: return &v.state @@ -10121,7 +10929,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[96].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[104].Exporter = func(v any, i int) any { switch v := v.(*SInt32ExLTGT); i { case 0: return &v.state @@ -10133,7 +10941,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[97].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[105].Exporter = func(v any, i int) any { switch v := v.(*SInt32GTELTE); i { case 0: return &v.state @@ -10145,7 +10953,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[98].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[106].Exporter = func(v any, i int) any { switch v := v.(*SInt32ExGTELTE); i { case 0: return &v.state @@ -10157,7 +10965,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[99].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[107].Exporter = func(v any, i int) any { switch v := v.(*SInt32Ignore); i { case 0: return &v.state @@ -10169,7 +10977,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[100].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[108].Exporter = func(v any, i int) any { switch v := v.(*SInt32IncorrectType); i { case 0: return &v.state @@ -10181,7 +10989,19 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[101].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[109].Exporter = func(v any, i int) any { + switch v := v.(*SInt32Example); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[110].Exporter = func(v any, i int) any { switch v := v.(*SInt64None); i { case 0: return &v.state @@ -10193,7 +11013,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[102].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[111].Exporter = func(v any, i int) any { switch v := v.(*SInt64Const); i { case 0: return &v.state @@ -10205,7 +11025,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[103].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[112].Exporter = func(v any, i int) any { switch v := v.(*SInt64In); i { case 0: return &v.state @@ -10217,7 +11037,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[104].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[113].Exporter = func(v any, i int) any { switch v := v.(*SInt64NotIn); i { case 0: return &v.state @@ -10229,7 +11049,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[105].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[114].Exporter = func(v any, i int) any { switch v := v.(*SInt64LT); i { case 0: return &v.state @@ -10241,7 +11061,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[106].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[115].Exporter = func(v any, i int) any { switch v := v.(*SInt64LTE); i { case 0: return &v.state @@ -10253,7 +11073,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[107].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[116].Exporter = func(v any, i int) any { switch v := v.(*SInt64GT); i { case 0: return &v.state @@ -10265,7 +11085,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[108].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[117].Exporter = func(v any, i int) any { switch v := v.(*SInt64GTE); i { case 0: return &v.state @@ -10277,7 +11097,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[109].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[118].Exporter = func(v any, i int) any { switch v := v.(*SInt64GTLT); i { case 0: return &v.state @@ -10289,7 +11109,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[110].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[119].Exporter = func(v any, i int) any { switch v := v.(*SInt64ExLTGT); i { case 0: return &v.state @@ -10301,7 +11121,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[111].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[120].Exporter = func(v any, i int) any { switch v := v.(*SInt64GTELTE); i { case 0: return &v.state @@ -10313,7 +11133,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[112].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[121].Exporter = func(v any, i int) any { switch v := v.(*SInt64ExGTELTE); i { case 0: return &v.state @@ -10325,7 +11145,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[113].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[122].Exporter = func(v any, i int) any { switch v := v.(*SInt64Ignore); i { case 0: return &v.state @@ -10337,7 +11157,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[114].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[123].Exporter = func(v any, i int) any { switch v := v.(*SInt64IncorrectType); i { case 0: return &v.state @@ -10349,7 +11169,19 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[115].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[124].Exporter = func(v any, i int) any { + switch v := v.(*SInt64Example); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[125].Exporter = func(v any, i int) any { switch v := v.(*Fixed32None); i { case 0: return &v.state @@ -10361,7 +11193,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[116].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[126].Exporter = func(v any, i int) any { switch v := v.(*Fixed32Const); i { case 0: return &v.state @@ -10373,7 +11205,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[117].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[127].Exporter = func(v any, i int) any { switch v := v.(*Fixed32In); i { case 0: return &v.state @@ -10385,7 +11217,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[118].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[128].Exporter = func(v any, i int) any { switch v := v.(*Fixed32NotIn); i { case 0: return &v.state @@ -10397,7 +11229,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[119].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[129].Exporter = func(v any, i int) any { switch v := v.(*Fixed32LT); i { case 0: return &v.state @@ -10409,7 +11241,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[120].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[130].Exporter = func(v any, i int) any { switch v := v.(*Fixed32LTE); i { case 0: return &v.state @@ -10421,7 +11253,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[121].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[131].Exporter = func(v any, i int) any { switch v := v.(*Fixed32GT); i { case 0: return &v.state @@ -10433,7 +11265,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[122].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[132].Exporter = func(v any, i int) any { switch v := v.(*Fixed32GTE); i { case 0: return &v.state @@ -10445,7 +11277,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[123].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[133].Exporter = func(v any, i int) any { switch v := v.(*Fixed32GTLT); i { case 0: return &v.state @@ -10457,7 +11289,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[124].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[134].Exporter = func(v any, i int) any { switch v := v.(*Fixed32ExLTGT); i { case 0: return &v.state @@ -10469,7 +11301,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[125].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[135].Exporter = func(v any, i int) any { switch v := v.(*Fixed32GTELTE); i { case 0: return &v.state @@ -10481,7 +11313,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[126].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[136].Exporter = func(v any, i int) any { switch v := v.(*Fixed32ExGTELTE); i { case 0: return &v.state @@ -10493,7 +11325,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[127].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[137].Exporter = func(v any, i int) any { switch v := v.(*Fixed32Ignore); i { case 0: return &v.state @@ -10505,7 +11337,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[128].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[138].Exporter = func(v any, i int) any { switch v := v.(*Fixed32IncorrectType); i { case 0: return &v.state @@ -10517,7 +11349,19 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[129].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[139].Exporter = func(v any, i int) any { + switch v := v.(*Fixed32Example); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[140].Exporter = func(v any, i int) any { switch v := v.(*Fixed64None); i { case 0: return &v.state @@ -10529,7 +11373,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[130].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[141].Exporter = func(v any, i int) any { switch v := v.(*Fixed64Const); i { case 0: return &v.state @@ -10541,7 +11385,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[131].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[142].Exporter = func(v any, i int) any { switch v := v.(*Fixed64In); i { case 0: return &v.state @@ -10553,7 +11397,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[132].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[143].Exporter = func(v any, i int) any { switch v := v.(*Fixed64NotIn); i { case 0: return &v.state @@ -10565,7 +11409,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[133].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[144].Exporter = func(v any, i int) any { switch v := v.(*Fixed64LT); i { case 0: return &v.state @@ -10577,7 +11421,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[134].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[145].Exporter = func(v any, i int) any { switch v := v.(*Fixed64LTE); i { case 0: return &v.state @@ -10589,7 +11433,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[135].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[146].Exporter = func(v any, i int) any { switch v := v.(*Fixed64GT); i { case 0: return &v.state @@ -10601,7 +11445,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[136].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[147].Exporter = func(v any, i int) any { switch v := v.(*Fixed64GTE); i { case 0: return &v.state @@ -10613,7 +11457,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[137].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[148].Exporter = func(v any, i int) any { switch v := v.(*Fixed64GTLT); i { case 0: return &v.state @@ -10625,7 +11469,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[138].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[149].Exporter = func(v any, i int) any { switch v := v.(*Fixed64ExLTGT); i { case 0: return &v.state @@ -10637,7 +11481,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[139].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[150].Exporter = func(v any, i int) any { switch v := v.(*Fixed64GTELTE); i { case 0: return &v.state @@ -10649,7 +11493,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[140].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[151].Exporter = func(v any, i int) any { switch v := v.(*Fixed64ExGTELTE); i { case 0: return &v.state @@ -10661,7 +11505,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[141].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[152].Exporter = func(v any, i int) any { switch v := v.(*Fixed64Ignore); i { case 0: return &v.state @@ -10673,7 +11517,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[142].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[153].Exporter = func(v any, i int) any { switch v := v.(*Fixed64IncorrectType); i { case 0: return &v.state @@ -10685,7 +11529,19 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[143].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[154].Exporter = func(v any, i int) any { + switch v := v.(*Fixed64Example); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[155].Exporter = func(v any, i int) any { switch v := v.(*SFixed32None); i { case 0: return &v.state @@ -10697,7 +11553,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[144].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[156].Exporter = func(v any, i int) any { switch v := v.(*SFixed32Const); i { case 0: return &v.state @@ -10709,7 +11565,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[145].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[157].Exporter = func(v any, i int) any { switch v := v.(*SFixed32In); i { case 0: return &v.state @@ -10721,7 +11577,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[146].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[158].Exporter = func(v any, i int) any { switch v := v.(*SFixed32NotIn); i { case 0: return &v.state @@ -10733,7 +11589,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[147].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[159].Exporter = func(v any, i int) any { switch v := v.(*SFixed32LT); i { case 0: return &v.state @@ -10745,7 +11601,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[148].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[160].Exporter = func(v any, i int) any { switch v := v.(*SFixed32LTE); i { case 0: return &v.state @@ -10757,7 +11613,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[149].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[161].Exporter = func(v any, i int) any { switch v := v.(*SFixed32GT); i { case 0: return &v.state @@ -10769,7 +11625,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[150].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[162].Exporter = func(v any, i int) any { switch v := v.(*SFixed32GTE); i { case 0: return &v.state @@ -10781,7 +11637,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[151].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[163].Exporter = func(v any, i int) any { switch v := v.(*SFixed32GTLT); i { case 0: return &v.state @@ -10793,7 +11649,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[152].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[164].Exporter = func(v any, i int) any { switch v := v.(*SFixed32ExLTGT); i { case 0: return &v.state @@ -10805,7 +11661,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[153].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[165].Exporter = func(v any, i int) any { switch v := v.(*SFixed32GTELTE); i { case 0: return &v.state @@ -10817,7 +11673,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[154].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[166].Exporter = func(v any, i int) any { switch v := v.(*SFixed32ExGTELTE); i { case 0: return &v.state @@ -10829,7 +11685,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[155].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[167].Exporter = func(v any, i int) any { switch v := v.(*SFixed32Ignore); i { case 0: return &v.state @@ -10841,7 +11697,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[156].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[168].Exporter = func(v any, i int) any { switch v := v.(*SFixed32IncorrectType); i { case 0: return &v.state @@ -10853,7 +11709,19 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[157].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[169].Exporter = func(v any, i int) any { + switch v := v.(*SFixed32Example); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[170].Exporter = func(v any, i int) any { switch v := v.(*SFixed64None); i { case 0: return &v.state @@ -10865,7 +11733,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[158].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[171].Exporter = func(v any, i int) any { switch v := v.(*SFixed64Const); i { case 0: return &v.state @@ -10877,7 +11745,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[159].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[172].Exporter = func(v any, i int) any { switch v := v.(*SFixed64In); i { case 0: return &v.state @@ -10889,7 +11757,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[160].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[173].Exporter = func(v any, i int) any { switch v := v.(*SFixed64NotIn); i { case 0: return &v.state @@ -10901,7 +11769,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[161].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[174].Exporter = func(v any, i int) any { switch v := v.(*SFixed64LT); i { case 0: return &v.state @@ -10913,7 +11781,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[162].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[175].Exporter = func(v any, i int) any { switch v := v.(*SFixed64LTE); i { case 0: return &v.state @@ -10925,7 +11793,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[163].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[176].Exporter = func(v any, i int) any { switch v := v.(*SFixed64GT); i { case 0: return &v.state @@ -10937,7 +11805,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[164].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[177].Exporter = func(v any, i int) any { switch v := v.(*SFixed64GTE); i { case 0: return &v.state @@ -10949,7 +11817,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[165].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[178].Exporter = func(v any, i int) any { switch v := v.(*SFixed64GTLT); i { case 0: return &v.state @@ -10961,7 +11829,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[166].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[179].Exporter = func(v any, i int) any { switch v := v.(*SFixed64ExLTGT); i { case 0: return &v.state @@ -10973,7 +11841,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[167].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[180].Exporter = func(v any, i int) any { switch v := v.(*SFixed64GTELTE); i { case 0: return &v.state @@ -10985,7 +11853,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[168].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[181].Exporter = func(v any, i int) any { switch v := v.(*SFixed64ExGTELTE); i { case 0: return &v.state @@ -10997,7 +11865,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[169].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[182].Exporter = func(v any, i int) any { switch v := v.(*SFixed64Ignore); i { case 0: return &v.state @@ -11009,7 +11877,7 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[170].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[183].Exporter = func(v any, i int) any { switch v := v.(*SFixed64IncorrectType); i { case 0: return &v.state @@ -11021,7 +11889,19 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { return nil } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[171].Exporter = func(v any, i int) any { + file_buf_validate_conformance_cases_numbers_proto_msgTypes[184].Exporter = func(v any, i int) any { + switch v := v.(*SFixed64Example); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_numbers_proto_msgTypes[185].Exporter = func(v any, i int) any { switch v := v.(*Int64LTEOptional); i { case 0: return &v.state @@ -11034,14 +11914,14 @@ func file_buf_validate_conformance_cases_numbers_proto_init() { } } } - file_buf_validate_conformance_cases_numbers_proto_msgTypes[171].OneofWrappers = []any{} + file_buf_validate_conformance_cases_numbers_proto_msgTypes[185].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_buf_validate_conformance_cases_numbers_proto_rawDesc, NumEnums: 0, - NumMessages: 172, + NumMessages: 186, NumExtensions: 0, NumServices: 0, }, diff --git a/tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto2.pb.go b/tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto2.pb.go new file mode 100644 index 00000000..57f813d2 --- /dev/null +++ b/tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto2.pb.go @@ -0,0 +1,2147 @@ +// Copyright 2023 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: buf/validate/conformance/cases/predefined_rules_proto2.proto + +package cases + +import ( + validate "github.com/bufbuild/protovalidate/tools/internal/gen/buf/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + 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) +) + +type PredefinedEnumRuleProto2_EnumProto2 int32 + +const ( + PredefinedEnumRuleProto2_ENUM_PROTO2_ZERO_UNSPECIFIED PredefinedEnumRuleProto2_EnumProto2 = 0 + PredefinedEnumRuleProto2_ENUM_PROTO2_ONE PredefinedEnumRuleProto2_EnumProto2 = 1 +) + +// Enum value maps for PredefinedEnumRuleProto2_EnumProto2. +var ( + PredefinedEnumRuleProto2_EnumProto2_name = map[int32]string{ + 0: "ENUM_PROTO2_ZERO_UNSPECIFIED", + 1: "ENUM_PROTO2_ONE", + } + PredefinedEnumRuleProto2_EnumProto2_value = map[string]int32{ + "ENUM_PROTO2_ZERO_UNSPECIFIED": 0, + "ENUM_PROTO2_ONE": 1, + } +) + +func (x PredefinedEnumRuleProto2_EnumProto2) Enum() *PredefinedEnumRuleProto2_EnumProto2 { + p := new(PredefinedEnumRuleProto2_EnumProto2) + *p = x + return p +} + +func (x PredefinedEnumRuleProto2_EnumProto2) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PredefinedEnumRuleProto2_EnumProto2) Descriptor() protoreflect.EnumDescriptor { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_enumTypes[0].Descriptor() +} + +func (PredefinedEnumRuleProto2_EnumProto2) Type() protoreflect.EnumType { + return &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_enumTypes[0] +} + +func (x PredefinedEnumRuleProto2_EnumProto2) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *PredefinedEnumRuleProto2_EnumProto2) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = PredefinedEnumRuleProto2_EnumProto2(num) + return nil +} + +// Deprecated: Use PredefinedEnumRuleProto2_EnumProto2.Descriptor instead. +func (PredefinedEnumRuleProto2_EnumProto2) EnumDescriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{15, 0} +} + +type PredefinedFloatRuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *float32 `protobuf:"fixed32,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedFloatRuleProto2) Reset() { + *x = PredefinedFloatRuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedFloatRuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedFloatRuleProto2) ProtoMessage() {} + +func (x *PredefinedFloatRuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedFloatRuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedFloatRuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{0} +} + +func (x *PredefinedFloatRuleProto2) GetVal() float32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedDoubleRuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *float64 `protobuf:"fixed64,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedDoubleRuleProto2) Reset() { + *x = PredefinedDoubleRuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedDoubleRuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedDoubleRuleProto2) ProtoMessage() {} + +func (x *PredefinedDoubleRuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedDoubleRuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedDoubleRuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{1} +} + +func (x *PredefinedDoubleRuleProto2) GetVal() float64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedInt32RuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int32 `protobuf:"varint,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedInt32RuleProto2) Reset() { + *x = PredefinedInt32RuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedInt32RuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedInt32RuleProto2) ProtoMessage() {} + +func (x *PredefinedInt32RuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedInt32RuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedInt32RuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{2} +} + +func (x *PredefinedInt32RuleProto2) GetVal() int32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedInt64RuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int64 `protobuf:"varint,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedInt64RuleProto2) Reset() { + *x = PredefinedInt64RuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedInt64RuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedInt64RuleProto2) ProtoMessage() {} + +func (x *PredefinedInt64RuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedInt64RuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedInt64RuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{3} +} + +func (x *PredefinedInt64RuleProto2) GetVal() int64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedUInt32RuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *uint32 `protobuf:"varint,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedUInt32RuleProto2) Reset() { + *x = PredefinedUInt32RuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedUInt32RuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedUInt32RuleProto2) ProtoMessage() {} + +func (x *PredefinedUInt32RuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedUInt32RuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedUInt32RuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{4} +} + +func (x *PredefinedUInt32RuleProto2) GetVal() uint32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedUInt64RuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *uint64 `protobuf:"varint,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedUInt64RuleProto2) Reset() { + *x = PredefinedUInt64RuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedUInt64RuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedUInt64RuleProto2) ProtoMessage() {} + +func (x *PredefinedUInt64RuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedUInt64RuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedUInt64RuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{5} +} + +func (x *PredefinedUInt64RuleProto2) GetVal() uint64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedSInt32RuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int32 `protobuf:"zigzag32,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedSInt32RuleProto2) Reset() { + *x = PredefinedSInt32RuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSInt32RuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSInt32RuleProto2) ProtoMessage() {} + +func (x *PredefinedSInt32RuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedSInt32RuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedSInt32RuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{6} +} + +func (x *PredefinedSInt32RuleProto2) GetVal() int32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedSInt64RuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int64 `protobuf:"zigzag64,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedSInt64RuleProto2) Reset() { + *x = PredefinedSInt64RuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSInt64RuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSInt64RuleProto2) ProtoMessage() {} + +func (x *PredefinedSInt64RuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedSInt64RuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedSInt64RuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{7} +} + +func (x *PredefinedSInt64RuleProto2) GetVal() int64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedFixed32RuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *uint32 `protobuf:"fixed32,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedFixed32RuleProto2) Reset() { + *x = PredefinedFixed32RuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedFixed32RuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedFixed32RuleProto2) ProtoMessage() {} + +func (x *PredefinedFixed32RuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedFixed32RuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedFixed32RuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{8} +} + +func (x *PredefinedFixed32RuleProto2) GetVal() uint32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedFixed64RuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *uint64 `protobuf:"fixed64,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedFixed64RuleProto2) Reset() { + *x = PredefinedFixed64RuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedFixed64RuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedFixed64RuleProto2) ProtoMessage() {} + +func (x *PredefinedFixed64RuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedFixed64RuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedFixed64RuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{9} +} + +func (x *PredefinedFixed64RuleProto2) GetVal() uint64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedSFixed32RuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int32 `protobuf:"fixed32,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedSFixed32RuleProto2) Reset() { + *x = PredefinedSFixed32RuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSFixed32RuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSFixed32RuleProto2) ProtoMessage() {} + +func (x *PredefinedSFixed32RuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedSFixed32RuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedSFixed32RuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{10} +} + +func (x *PredefinedSFixed32RuleProto2) GetVal() int32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedSFixed64RuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int64 `protobuf:"fixed64,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedSFixed64RuleProto2) Reset() { + *x = PredefinedSFixed64RuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSFixed64RuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSFixed64RuleProto2) ProtoMessage() {} + +func (x *PredefinedSFixed64RuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedSFixed64RuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedSFixed64RuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{11} +} + +func (x *PredefinedSFixed64RuleProto2) GetVal() int64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedBoolRuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *bool `protobuf:"varint,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedBoolRuleProto2) Reset() { + *x = PredefinedBoolRuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedBoolRuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedBoolRuleProto2) ProtoMessage() {} + +func (x *PredefinedBoolRuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedBoolRuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedBoolRuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{12} +} + +func (x *PredefinedBoolRuleProto2) GetVal() bool { + if x != nil && x.Val != nil { + return *x.Val + } + return false +} + +type PredefinedStringRuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *string `protobuf:"bytes,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedStringRuleProto2) Reset() { + *x = PredefinedStringRuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedStringRuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedStringRuleProto2) ProtoMessage() {} + +func (x *PredefinedStringRuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedStringRuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedStringRuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{13} +} + +func (x *PredefinedStringRuleProto2) GetVal() string { + if x != nil && x.Val != nil { + return *x.Val + } + return "" +} + +type PredefinedBytesRuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []byte `protobuf:"bytes,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedBytesRuleProto2) Reset() { + *x = PredefinedBytesRuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedBytesRuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedBytesRuleProto2) ProtoMessage() {} + +func (x *PredefinedBytesRuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedBytesRuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedBytesRuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{14} +} + +func (x *PredefinedBytesRuleProto2) GetVal() []byte { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedEnumRuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *PredefinedEnumRuleProto2_EnumProto2 `protobuf:"varint,1,opt,name=val,enum=buf.validate.conformance.cases.PredefinedEnumRuleProto2_EnumProto2" json:"val,omitempty"` +} + +func (x *PredefinedEnumRuleProto2) Reset() { + *x = PredefinedEnumRuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedEnumRuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedEnumRuleProto2) ProtoMessage() {} + +func (x *PredefinedEnumRuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedEnumRuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedEnumRuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{15} +} + +func (x *PredefinedEnumRuleProto2) GetVal() PredefinedEnumRuleProto2_EnumProto2 { + if x != nil && x.Val != nil { + return *x.Val + } + return PredefinedEnumRuleProto2_ENUM_PROTO2_ZERO_UNSPECIFIED +} + +type PredefinedRepeatedRuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []uint64 `protobuf:"varint,1,rep,name=val" json:"val,omitempty"` +} + +func (x *PredefinedRepeatedRuleProto2) Reset() { + *x = PredefinedRepeatedRuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedRepeatedRuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedRepeatedRuleProto2) ProtoMessage() {} + +func (x *PredefinedRepeatedRuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedRepeatedRuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedRepeatedRuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{16} +} + +func (x *PredefinedRepeatedRuleProto2) GetVal() []uint64 { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedDurationRuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *durationpb.Duration `protobuf:"bytes,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedDurationRuleProto2) Reset() { + *x = PredefinedDurationRuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedDurationRuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedDurationRuleProto2) ProtoMessage() {} + +func (x *PredefinedDurationRuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedDurationRuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedDurationRuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{17} +} + +func (x *PredefinedDurationRuleProto2) GetVal() *durationpb.Duration { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedTimestampRuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedTimestampRuleProto2) Reset() { + *x = PredefinedTimestampRuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedTimestampRuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedTimestampRuleProto2) ProtoMessage() {} + +func (x *PredefinedTimestampRuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedTimestampRuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedTimestampRuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{18} +} + +func (x *PredefinedTimestampRuleProto2) GetVal() *timestamppb.Timestamp { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedAndCustomRuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + A *int32 `protobuf:"varint,1,opt,name=a" json:"a,omitempty"` + B *PredefinedAndCustomRuleProto2_Nested `protobuf:"bytes,2,opt,name=b" json:"b,omitempty"` +} + +func (x *PredefinedAndCustomRuleProto2) Reset() { + *x = PredefinedAndCustomRuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedAndCustomRuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedAndCustomRuleProto2) ProtoMessage() {} + +func (x *PredefinedAndCustomRuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedAndCustomRuleProto2.ProtoReflect.Descriptor instead. +func (*PredefinedAndCustomRuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{19} +} + +func (x *PredefinedAndCustomRuleProto2) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +func (x *PredefinedAndCustomRuleProto2) GetB() *PredefinedAndCustomRuleProto2_Nested { + if x != nil { + return x.B + } + return nil +} + +type StandardPredefinedAndCustomRuleProto2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + A *int32 `protobuf:"varint,1,opt,name=a" json:"a,omitempty"` +} + +func (x *StandardPredefinedAndCustomRuleProto2) Reset() { + *x = StandardPredefinedAndCustomRuleProto2{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StandardPredefinedAndCustomRuleProto2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StandardPredefinedAndCustomRuleProto2) ProtoMessage() {} + +func (x *StandardPredefinedAndCustomRuleProto2) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 StandardPredefinedAndCustomRuleProto2.ProtoReflect.Descriptor instead. +func (*StandardPredefinedAndCustomRuleProto2) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{20} +} + +func (x *StandardPredefinedAndCustomRuleProto2) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +type PredefinedAndCustomRuleProto2_Nested struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + C *int32 `protobuf:"varint,1,opt,name=c" json:"c,omitempty"` +} + +func (x *PredefinedAndCustomRuleProto2_Nested) Reset() { + *x = PredefinedAndCustomRuleProto2_Nested{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedAndCustomRuleProto2_Nested) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedAndCustomRuleProto2_Nested) ProtoMessage() {} + +func (x *PredefinedAndCustomRuleProto2_Nested) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto2_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 PredefinedAndCustomRuleProto2_Nested.ProtoReflect.Descriptor instead. +func (*PredefinedAndCustomRuleProto2_Nested) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP(), []int{19, 0} +} + +func (x *PredefinedAndCustomRuleProto2_Nested) GetC() int32 { + if x != nil && x.C != nil { + return *x.C + } + return 0 +} + +var file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*validate.FloatRules)(nil), + ExtensionType: (*float32)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.float_abs_range_proto2", + Tag: "fixed32,1161,opt,name=float_abs_range_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.DoubleRules)(nil), + ExtensionType: (*float64)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.double_abs_range_proto2", + Tag: "fixed64,1161,opt,name=double_abs_range_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.Int32Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.int32_even_proto2", + Tag: "varint,1161,opt,name=int32_even_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.Int64Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.int64_even_proto2", + Tag: "varint,1161,opt,name=int64_even_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.UInt32Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.uint32_even_proto2", + Tag: "varint,1161,opt,name=uint32_even_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.UInt64Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.uint64_even_proto2", + Tag: "varint,1161,opt,name=uint64_even_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.SInt32Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.sint32_even_proto2", + Tag: "varint,1161,opt,name=sint32_even_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.SInt64Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.sint64_even_proto2", + Tag: "varint,1161,opt,name=sint64_even_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.Fixed32Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.fixed32_even_proto2", + Tag: "varint,1161,opt,name=fixed32_even_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.Fixed64Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.fixed64_even_proto2", + Tag: "varint,1161,opt,name=fixed64_even_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.SFixed32Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.sfixed32_even_proto2", + Tag: "varint,1161,opt,name=sfixed32_even_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.SFixed64Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.sfixed64_even_proto2", + Tag: "varint,1161,opt,name=sfixed64_even_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.BoolRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.bool_false_proto2", + Tag: "varint,1161,opt,name=bool_false_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.StringRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.string_valid_path_proto2", + Tag: "varint,1161,opt,name=string_valid_path_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.BytesRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.bytes_valid_path_proto2", + Tag: "varint,1161,opt,name=bytes_valid_path_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.EnumRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.enum_non_zero_proto2", + Tag: "varint,1161,opt,name=enum_non_zero_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.RepeatedRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.repeated_at_least_five_proto2", + Tag: "varint,1161,opt,name=repeated_at_least_five_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.DurationRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.duration_too_long_proto2", + Tag: "varint,1161,opt,name=duration_too_long_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, + { + ExtendedType: (*validate.TimestampRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1161, + Name: "buf.validate.conformance.cases.timestamp_in_range_proto2", + Tag: "varint,1161,opt,name=timestamp_in_range_proto2", + Filename: "buf/validate/conformance/cases/predefined_rules_proto2.proto", + }, +} + +// Extension fields to validate.FloatRules. +var ( + // optional float float_abs_range_proto2 = 1161; + E_FloatAbsRangeProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[0] +) + +// Extension fields to validate.DoubleRules. +var ( + // optional double double_abs_range_proto2 = 1161; + E_DoubleAbsRangeProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[1] +) + +// Extension fields to validate.Int32Rules. +var ( + // optional bool int32_even_proto2 = 1161; + E_Int32EvenProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[2] +) + +// Extension fields to validate.Int64Rules. +var ( + // optional bool int64_even_proto2 = 1161; + E_Int64EvenProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[3] +) + +// Extension fields to validate.UInt32Rules. +var ( + // optional bool uint32_even_proto2 = 1161; + E_Uint32EvenProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[4] +) + +// Extension fields to validate.UInt64Rules. +var ( + // optional bool uint64_even_proto2 = 1161; + E_Uint64EvenProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[5] +) + +// Extension fields to validate.SInt32Rules. +var ( + // optional bool sint32_even_proto2 = 1161; + E_Sint32EvenProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[6] +) + +// Extension fields to validate.SInt64Rules. +var ( + // optional bool sint64_even_proto2 = 1161; + E_Sint64EvenProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[7] +) + +// Extension fields to validate.Fixed32Rules. +var ( + // optional bool fixed32_even_proto2 = 1161; + E_Fixed32EvenProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[8] +) + +// Extension fields to validate.Fixed64Rules. +var ( + // optional bool fixed64_even_proto2 = 1161; + E_Fixed64EvenProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[9] +) + +// Extension fields to validate.SFixed32Rules. +var ( + // optional bool sfixed32_even_proto2 = 1161; + E_Sfixed32EvenProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[10] +) + +// Extension fields to validate.SFixed64Rules. +var ( + // optional bool sfixed64_even_proto2 = 1161; + E_Sfixed64EvenProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[11] +) + +// Extension fields to validate.BoolRules. +var ( + // optional bool bool_false_proto2 = 1161; + E_BoolFalseProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[12] +) + +// Extension fields to validate.StringRules. +var ( + // optional bool string_valid_path_proto2 = 1161; + E_StringValidPathProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[13] +) + +// Extension fields to validate.BytesRules. +var ( + // optional bool bytes_valid_path_proto2 = 1161; + E_BytesValidPathProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[14] +) + +// Extension fields to validate.EnumRules. +var ( + // optional bool enum_non_zero_proto2 = 1161; + E_EnumNonZeroProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[15] +) + +// Extension fields to validate.RepeatedRules. +var ( + // optional bool repeated_at_least_five_proto2 = 1161; + E_RepeatedAtLeastFiveProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[16] +) + +// Extension fields to validate.DurationRules. +var ( + // optional bool duration_too_long_proto2 = 1161; + E_DurationTooLongProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[17] +) + +// Extension fields to validate.TimestampRules. +var ( + // optional bool timestamp_in_range_proto2 = 1161; + E_TimestampInRangeProto2 = &file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes[18] +) + +var File_buf_validate_conformance_cases_predefined_rules_proto2_proto protoreflect.FileDescriptor + +var file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDesc = []byte{ + 0x0a, 0x3c, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, + 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, + 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, + 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x1a, 0x1b, + 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 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, 0x3a, 0x0a, 0x19, + 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, + 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x0a, 0x06, 0xcd, 0x48, 0x00, + 0x00, 0x80, 0x3f, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3f, 0x0a, 0x1a, 0x50, 0x72, 0x65, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x01, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x12, 0x0a, 0xc9, 0x48, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf0, 0x3f, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x37, 0x0a, 0x19, 0x50, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x08, 0xba, 0x48, 0x05, 0x1a, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x37, 0x0a, 0x19, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, + 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x08, 0xba, 0x48, + 0x05, 0x22, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, 0x1a, 0x50, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, + 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xba, 0x48, 0x05, 0x2a, 0x03, 0xc8, 0x48, 0x01, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, 0x1a, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x42, 0x08, 0xba, 0x48, 0x05, 0x32, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x38, 0x0a, 0x1a, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x08, 0xba, 0x48, 0x05, 0x3a, + 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, 0x1a, 0x50, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x12, 0x42, 0x08, 0xba, 0x48, 0x05, 0x42, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x39, 0x0a, 0x1b, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x32, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, + 0x08, 0xba, 0x48, 0x05, 0x4a, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x39, + 0x0a, 0x1b, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x08, 0xba, 0x48, 0x05, 0x52, + 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x1c, 0x50, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, + 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x08, 0xba, 0x48, 0x05, 0x5a, 0x03, 0xc8, 0x48, 0x01, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x1c, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x10, 0x42, 0x08, 0xba, 0x48, 0x05, 0x62, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x36, 0x0a, 0x18, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x42, + 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x08, 0xba, 0x48, 0x05, 0x6a, + 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, 0x1a, 0x50, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x37, 0x0a, 0x19, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, + 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x08, 0xba, + 0x48, 0x05, 0x7a, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0xc1, 0x01, 0x0a, + 0x18, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, + 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x60, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, + 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, + 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x42, 0x09, 0xba, 0x48, 0x06, + 0x82, 0x01, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x43, 0x0a, 0x0a, 0x45, + 0x6e, 0x75, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x4e, 0x55, + 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x32, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x45, + 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x32, 0x5f, 0x4f, 0x4e, 0x45, 0x10, 0x01, + 0x22, 0x3b, 0x0a, 0x1c, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x52, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, + 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x42, 0x09, 0xba, + 0x48, 0x06, 0x92, 0x01, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x56, 0x0a, + 0x1c, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x36, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 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, 0x42, 0x09, 0xba, 0x48, 0x06, 0xaa, 0x01, 0x03, 0xc8, 0x48, 0x01, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x58, 0x0a, 0x1d, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x37, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x09, 0xba, 0x48, 0x06, 0xb2, 0x01, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0xbe, 0x03, 0x0a, 0x1d, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x6e, + 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x32, 0x12, 0x71, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x63, 0xba, 0x48, + 0x60, 0xba, 0x01, 0x58, 0x0a, 0x28, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x1a, 0x2c, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x32, 0x34, 0x20, 0x3f, 0x20, 0x27, 0x27, 0x20, 0x3a, + 0x20, 0x27, 0x61, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x32, 0x34, 0x27, 0x1a, 0x03, 0xc8, 0x48, + 0x01, 0x52, 0x01, 0x61, 0x12, 0xb4, 0x01, 0x0a, 0x01, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x44, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, + 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x42, 0x60, 0xba, 0x48, 0x5d, 0xba, 0x01, 0x5a, 0x0a, 0x2a, + 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, + 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1b, 0x62, 0x2e, 0x63, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x33, 0x1a, 0x0f, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x20, + 0x25, 0x20, 0x33, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, 0x01, 0x62, 0x1a, 0x73, 0x0a, 0x06, 0x4e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x69, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x5b, 0xba, 0x48, 0x58, 0xba, 0x01, 0x50, 0x0a, 0x28, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x32, 0x1a, 0x24, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x3f, 0x20, 0x27, + 0x27, 0x20, 0x3a, 0x20, 0x27, 0x63, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x27, 0x1a, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x01, 0x63, + 0x22, 0xa5, 0x01, 0x0a, 0x25, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x50, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x7c, 0x0a, 0x01, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x6e, 0xba, 0x48, 0x6b, 0xba, 0x01, 0x61, 0x0a, 0x31, 0x73, + 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, + 0x1a, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x32, 0x34, 0x20, 0x3f, 0x20, 0x27, 0x27, + 0x20, 0x3a, 0x20, 0x27, 0x61, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x32, 0x34, 0x27, 0x1a, 0x05, + 0xc8, 0x48, 0x01, 0x10, 0x1c, 0x52, 0x01, 0x61, 0x3a, 0xa9, 0x01, 0x0a, 0x16, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x5f, 0x61, 0x62, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x32, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, + 0x20, 0x01, 0x28, 0x02, 0x42, 0x59, 0xc2, 0x48, 0x56, 0x0a, 0x54, 0x0a, 0x16, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x2e, 0x61, 0x62, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x32, 0x12, 0x1b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x69, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x1a, 0x1d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x20, + 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x52, + 0x13, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x41, 0x62, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0xae, 0x01, 0x0a, 0x17, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, + 0x61, 0x62, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, + 0x12, 0x19, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, + 0x28, 0x01, 0x42, 0x5b, 0xc2, 0x48, 0x58, 0x0a, 0x56, 0x0a, 0x17, 0x64, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x2e, 0x61, 0x62, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x32, 0x12, 0x1c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x69, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x1a, 0x1d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x20, + 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x52, + 0x14, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x41, 0x62, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0x87, 0x01, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x18, 0x2e, 0x62, 0x75, + 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x40, 0xc2, 0x48, + 0x3d, 0x0a, 0x3b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x17, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, + 0x0d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, 0x0f, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, + 0x87, 0x01, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, + 0x89, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x40, 0xc2, 0x48, 0x3d, 0x0a, 0x3b, 0x0a, 0x11, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, + 0x12, 0x17, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0d, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x25, 0x20, 0x32, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, + 0x76, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0x8e, 0x01, 0x0a, 0x12, 0x75, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, + 0x12, 0x19, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x44, 0xc2, 0x48, 0x41, 0x0a, 0x3f, 0x0a, 0x12, 0x75, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x18, 0x75, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0f, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, + 0x32, 0x75, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x52, 0x10, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x45, 0x76, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0x8e, 0x01, 0x0a, 0x12, 0x75, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x32, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x44, 0xc2, 0x48, 0x41, 0x0a, 0x3f, 0x0a, 0x12, 0x75, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x18, + 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, + 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0f, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, + 0x20, 0x32, 0x75, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x52, 0x10, 0x75, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x45, 0x76, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0x8c, 0x01, 0x0a, 0x12, + 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x32, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x42, 0xc2, 0x48, 0x3f, 0x0a, 0x3d, 0x0a, 0x12, 0x73, 0x69, 0x6e, + 0x74, 0x33, 0x32, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, + 0x18, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0d, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x25, 0x20, 0x32, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x45, 0x76, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0x8c, 0x01, 0x0a, 0x12, 0x73, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x32, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x42, 0xc2, 0x48, 0x3f, 0x0a, 0x3d, 0x0a, 0x12, 0x73, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x18, + 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, + 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, + 0x20, 0x32, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, + 0x76, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0x93, 0x01, 0x0a, 0x13, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x32, 0x12, 0x1a, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x46, 0xc2, 0x48, 0x43, 0x0a, 0x41, 0x0a, 0x13, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, + 0x12, 0x19, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0f, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x25, 0x20, 0x32, 0x75, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x52, 0x11, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, + 0x93, 0x01, 0x0a, 0x13, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x46, 0xc2, 0x48, 0x43, 0x0a, + 0x41, 0x0a, 0x13, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x19, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, + 0x6e, 0x1a, 0x0f, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, 0x75, 0x20, 0x3d, 0x3d, 0x20, + 0x30, 0x75, 0x52, 0x11, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x76, 0x65, 0x6e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0x96, 0x01, 0x0a, 0x14, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1b, + 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x46, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x46, 0xc2, 0x48, 0x43, 0x0a, 0x41, 0x0a, 0x14, 0x73, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, + 0x1a, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0d, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x25, 0x20, 0x32, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, 0x12, 0x73, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0x96, + 0x01, 0x0a, 0x14, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x46, 0xc2, 0x48, 0x43, + 0x0a, 0x41, 0x0a, 0x14, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x65, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, 0x20, 0x3d, + 0x3d, 0x20, 0x30, 0x52, 0x12, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x76, 0x65, + 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0x86, 0x01, 0x0a, 0x11, 0x62, 0x6f, 0x6f, 0x6c, + 0x5f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x17, 0x2e, + 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x42, 0x6f, 0x6f, + 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x40, 0xc2, + 0x48, 0x3d, 0x0a, 0x3b, 0x0a, 0x11, 0x62, 0x6f, 0x6f, 0x6c, 0x2e, 0x66, 0x61, 0x6c, 0x73, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x17, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, + 0x1a, 0x0d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, + 0x0f, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, + 0x3a, 0xfe, 0x01, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x19, 0x2e, + 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, + 0xa8, 0x01, 0xc2, 0x48, 0xa4, 0x01, 0x0a, 0xa1, 0x01, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x32, 0x1a, 0x84, 0x01, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, 0x28, 0x5b, 0x5e, 0x2f, 0x2e, 0x5d, 0x5b, 0x5e, 0x2f, 0x5d, + 0x3f, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x5b, 0x5e, 0x2f, 0x2e, 0x5d, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, + 0x7b, 0x33, 0x2c, 0x7d, 0x29, 0x28, 0x2f, 0x28, 0x5b, 0x5e, 0x2f, 0x2e, 0x5d, 0x5b, 0x5e, 0x2f, + 0x5d, 0x3f, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x5b, 0x5e, 0x2f, 0x2e, 0x5d, 0x7c, 0x5b, 0x5e, 0x2f, + 0x5d, 0x7b, 0x33, 0x2c, 0x7d, 0x29, 0x29, 0x2a, 0x24, 0x27, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x6e, + 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x61, 0x74, 0x68, 0x3a, + 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x74, + 0x68, 0x69, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x15, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x32, 0x3a, 0x82, 0x02, 0x0a, 0x17, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x18, 0x2e, + 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0xaf, + 0x01, 0xc2, 0x48, 0xab, 0x01, 0x0a, 0xa8, 0x01, 0x0a, 0x17, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x32, 0x1a, 0x8c, 0x01, 0x21, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x74, 0x68, 0x69, 0x73, + 0x29, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, 0x28, 0x5b, 0x5e, 0x2f, + 0x2e, 0x5d, 0x5b, 0x5e, 0x2f, 0x5d, 0x3f, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x5b, 0x5e, 0x2f, 0x2e, + 0x5d, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x7b, 0x33, 0x2c, 0x7d, 0x29, 0x28, 0x2f, 0x28, 0x5b, 0x5e, + 0x2f, 0x2e, 0x5d, 0x5b, 0x5e, 0x2f, 0x5d, 0x3f, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x5b, 0x5e, 0x2f, + 0x2e, 0x5d, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x7b, 0x33, 0x2c, 0x7d, 0x29, 0x29, 0x2a, 0x24, 0x27, + 0x29, 0x20, 0x3f, 0x20, 0x27, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x20, 0x70, 0x61, 0x74, 0x68, 0x3a, 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x52, 0x14, 0x62, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x74, 0x68, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0x92, 0x01, 0x0a, 0x14, 0x65, 0x6e, 0x75, 0x6d, 0x5f, + 0x6e, 0x6f, 0x6e, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, + 0x17, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x47, 0xc2, 0x48, 0x44, 0x0a, 0x42, 0x0a, 0x14, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x6e, + 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1a, 0x65, 0x6e, + 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x6e, 0x6f, 0x6e, 0x2d, 0x7a, 0x65, 0x72, 0x6f, 0x1a, 0x0e, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52, 0x11, 0x65, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, + 0x6e, 0x5a, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0xcc, 0x01, 0x0a, 0x1d, + 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, + 0x74, 0x5f, 0x66, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1b, 0x2e, + 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x6c, 0xc2, 0x48, 0x69, 0x0a, 0x67, 0x0a, 0x1d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x2e, 0x61, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, + 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x66, 0x69, 0x76, 0x65, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x17, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3e, 0x3d, 0x20, 0x35, 0x75, 0x52, + 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4c, 0x65, 0x61, 0x73, 0x74, + 0x46, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0xb9, 0x01, 0x0a, 0x18, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6f, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, + 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x62, 0xc2, 0x48, 0x5f, + 0x0a, 0x5d, 0x0a, 0x18, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x74, 0x6f, 0x6f, + 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x28, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x61, 0x6e, 0x27, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x17, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x27, 0x31, 0x30, 0x73, 0x27, 0x29, 0x52, + 0x15, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6f, 0x4c, 0x6f, 0x6e, 0x67, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x3a, 0xc8, 0x01, 0x0a, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x1c, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x18, 0x89, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x6e, 0xc2, 0x48, 0x6b, 0x0a, 0x69, + 0x0a, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x12, 0x16, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x32, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, + 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x30, 0x34, 0x39, 0x35, 0x38, 0x37, 0x32, 0x30, 0x30, 0x20, 0x26, + 0x26, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x20, 0x3c, 0x3d, 0x20, 0x31, + 0x30, 0x38, 0x30, 0x34, 0x33, 0x32, 0x30, 0x30, 0x30, 0x52, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x32, 0x42, 0xb1, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, + 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x1a, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, + 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, + 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, + 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, + 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, + 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, + 0x43, 0x61, 0x73, 0x65, 0x73, +} + +var ( + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescOnce sync.Once + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescData = file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDesc +) + +func file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescGZIP() []byte { + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescOnce.Do(func() { + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescData = protoimpl.X.CompressGZIP(file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescData) + }) + return file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDescData +} + +var file_buf_validate_conformance_cases_predefined_rules_proto2_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_buf_validate_conformance_cases_predefined_rules_proto2_proto_goTypes = []any{ + (PredefinedEnumRuleProto2_EnumProto2)(0), // 0: buf.validate.conformance.cases.PredefinedEnumRuleProto2.EnumProto2 + (*PredefinedFloatRuleProto2)(nil), // 1: buf.validate.conformance.cases.PredefinedFloatRuleProto2 + (*PredefinedDoubleRuleProto2)(nil), // 2: buf.validate.conformance.cases.PredefinedDoubleRuleProto2 + (*PredefinedInt32RuleProto2)(nil), // 3: buf.validate.conformance.cases.PredefinedInt32RuleProto2 + (*PredefinedInt64RuleProto2)(nil), // 4: buf.validate.conformance.cases.PredefinedInt64RuleProto2 + (*PredefinedUInt32RuleProto2)(nil), // 5: buf.validate.conformance.cases.PredefinedUInt32RuleProto2 + (*PredefinedUInt64RuleProto2)(nil), // 6: buf.validate.conformance.cases.PredefinedUInt64RuleProto2 + (*PredefinedSInt32RuleProto2)(nil), // 7: buf.validate.conformance.cases.PredefinedSInt32RuleProto2 + (*PredefinedSInt64RuleProto2)(nil), // 8: buf.validate.conformance.cases.PredefinedSInt64RuleProto2 + (*PredefinedFixed32RuleProto2)(nil), // 9: buf.validate.conformance.cases.PredefinedFixed32RuleProto2 + (*PredefinedFixed64RuleProto2)(nil), // 10: buf.validate.conformance.cases.PredefinedFixed64RuleProto2 + (*PredefinedSFixed32RuleProto2)(nil), // 11: buf.validate.conformance.cases.PredefinedSFixed32RuleProto2 + (*PredefinedSFixed64RuleProto2)(nil), // 12: buf.validate.conformance.cases.PredefinedSFixed64RuleProto2 + (*PredefinedBoolRuleProto2)(nil), // 13: buf.validate.conformance.cases.PredefinedBoolRuleProto2 + (*PredefinedStringRuleProto2)(nil), // 14: buf.validate.conformance.cases.PredefinedStringRuleProto2 + (*PredefinedBytesRuleProto2)(nil), // 15: buf.validate.conformance.cases.PredefinedBytesRuleProto2 + (*PredefinedEnumRuleProto2)(nil), // 16: buf.validate.conformance.cases.PredefinedEnumRuleProto2 + (*PredefinedRepeatedRuleProto2)(nil), // 17: buf.validate.conformance.cases.PredefinedRepeatedRuleProto2 + (*PredefinedDurationRuleProto2)(nil), // 18: buf.validate.conformance.cases.PredefinedDurationRuleProto2 + (*PredefinedTimestampRuleProto2)(nil), // 19: buf.validate.conformance.cases.PredefinedTimestampRuleProto2 + (*PredefinedAndCustomRuleProto2)(nil), // 20: buf.validate.conformance.cases.PredefinedAndCustomRuleProto2 + (*StandardPredefinedAndCustomRuleProto2)(nil), // 21: buf.validate.conformance.cases.StandardPredefinedAndCustomRuleProto2 + (*PredefinedAndCustomRuleProto2_Nested)(nil), // 22: buf.validate.conformance.cases.PredefinedAndCustomRuleProto2.Nested + (*durationpb.Duration)(nil), // 23: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 24: google.protobuf.Timestamp + (*validate.FloatRules)(nil), // 25: buf.validate.FloatRules + (*validate.DoubleRules)(nil), // 26: buf.validate.DoubleRules + (*validate.Int32Rules)(nil), // 27: buf.validate.Int32Rules + (*validate.Int64Rules)(nil), // 28: buf.validate.Int64Rules + (*validate.UInt32Rules)(nil), // 29: buf.validate.UInt32Rules + (*validate.UInt64Rules)(nil), // 30: buf.validate.UInt64Rules + (*validate.SInt32Rules)(nil), // 31: buf.validate.SInt32Rules + (*validate.SInt64Rules)(nil), // 32: buf.validate.SInt64Rules + (*validate.Fixed32Rules)(nil), // 33: buf.validate.Fixed32Rules + (*validate.Fixed64Rules)(nil), // 34: buf.validate.Fixed64Rules + (*validate.SFixed32Rules)(nil), // 35: buf.validate.SFixed32Rules + (*validate.SFixed64Rules)(nil), // 36: buf.validate.SFixed64Rules + (*validate.BoolRules)(nil), // 37: buf.validate.BoolRules + (*validate.StringRules)(nil), // 38: buf.validate.StringRules + (*validate.BytesRules)(nil), // 39: buf.validate.BytesRules + (*validate.EnumRules)(nil), // 40: buf.validate.EnumRules + (*validate.RepeatedRules)(nil), // 41: buf.validate.RepeatedRules + (*validate.DurationRules)(nil), // 42: buf.validate.DurationRules + (*validate.TimestampRules)(nil), // 43: buf.validate.TimestampRules +} +var file_buf_validate_conformance_cases_predefined_rules_proto2_proto_depIdxs = []int32{ + 0, // 0: buf.validate.conformance.cases.PredefinedEnumRuleProto2.val:type_name -> buf.validate.conformance.cases.PredefinedEnumRuleProto2.EnumProto2 + 23, // 1: buf.validate.conformance.cases.PredefinedDurationRuleProto2.val:type_name -> google.protobuf.Duration + 24, // 2: buf.validate.conformance.cases.PredefinedTimestampRuleProto2.val:type_name -> google.protobuf.Timestamp + 22, // 3: buf.validate.conformance.cases.PredefinedAndCustomRuleProto2.b:type_name -> buf.validate.conformance.cases.PredefinedAndCustomRuleProto2.Nested + 25, // 4: buf.validate.conformance.cases.float_abs_range_proto2:extendee -> buf.validate.FloatRules + 26, // 5: buf.validate.conformance.cases.double_abs_range_proto2:extendee -> buf.validate.DoubleRules + 27, // 6: buf.validate.conformance.cases.int32_even_proto2:extendee -> buf.validate.Int32Rules + 28, // 7: buf.validate.conformance.cases.int64_even_proto2:extendee -> buf.validate.Int64Rules + 29, // 8: buf.validate.conformance.cases.uint32_even_proto2:extendee -> buf.validate.UInt32Rules + 30, // 9: buf.validate.conformance.cases.uint64_even_proto2:extendee -> buf.validate.UInt64Rules + 31, // 10: buf.validate.conformance.cases.sint32_even_proto2:extendee -> buf.validate.SInt32Rules + 32, // 11: buf.validate.conformance.cases.sint64_even_proto2:extendee -> buf.validate.SInt64Rules + 33, // 12: buf.validate.conformance.cases.fixed32_even_proto2:extendee -> buf.validate.Fixed32Rules + 34, // 13: buf.validate.conformance.cases.fixed64_even_proto2:extendee -> buf.validate.Fixed64Rules + 35, // 14: buf.validate.conformance.cases.sfixed32_even_proto2:extendee -> buf.validate.SFixed32Rules + 36, // 15: buf.validate.conformance.cases.sfixed64_even_proto2:extendee -> buf.validate.SFixed64Rules + 37, // 16: buf.validate.conformance.cases.bool_false_proto2:extendee -> buf.validate.BoolRules + 38, // 17: buf.validate.conformance.cases.string_valid_path_proto2:extendee -> buf.validate.StringRules + 39, // 18: buf.validate.conformance.cases.bytes_valid_path_proto2:extendee -> buf.validate.BytesRules + 40, // 19: buf.validate.conformance.cases.enum_non_zero_proto2:extendee -> buf.validate.EnumRules + 41, // 20: buf.validate.conformance.cases.repeated_at_least_five_proto2:extendee -> buf.validate.RepeatedRules + 42, // 21: buf.validate.conformance.cases.duration_too_long_proto2:extendee -> buf.validate.DurationRules + 43, // 22: buf.validate.conformance.cases.timestamp_in_range_proto2:extendee -> buf.validate.TimestampRules + 23, // [23:23] is the sub-list for method output_type + 23, // [23:23] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 4, // [4:23] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_buf_validate_conformance_cases_predefined_rules_proto2_proto_init() } +func file_buf_validate_conformance_cases_predefined_rules_proto2_proto_init() { + if File_buf_validate_conformance_cases_predefined_rules_proto2_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedFloatRuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedDoubleRuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedInt32RuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedInt64RuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedUInt32RuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedUInt64RuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSInt32RuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[7].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSInt64RuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedFixed32RuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedFixed64RuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSFixed32RuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[11].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSFixed64RuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[12].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedBoolRuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[13].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedStringRuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[14].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedBytesRuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[15].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedEnumRuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[16].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedRepeatedRuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[17].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedDurationRuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[18].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedTimestampRuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[19].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedAndCustomRuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[20].Exporter = func(v any, i int) any { + switch v := v.(*StandardPredefinedAndCustomRuleProto2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes[21].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedAndCustomRuleProto2_Nested); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDesc, + NumEnums: 1, + NumMessages: 22, + NumExtensions: 19, + NumServices: 0, + }, + GoTypes: file_buf_validate_conformance_cases_predefined_rules_proto2_proto_goTypes, + DependencyIndexes: file_buf_validate_conformance_cases_predefined_rules_proto2_proto_depIdxs, + EnumInfos: file_buf_validate_conformance_cases_predefined_rules_proto2_proto_enumTypes, + MessageInfos: file_buf_validate_conformance_cases_predefined_rules_proto2_proto_msgTypes, + ExtensionInfos: file_buf_validate_conformance_cases_predefined_rules_proto2_proto_extTypes, + }.Build() + File_buf_validate_conformance_cases_predefined_rules_proto2_proto = out.File + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_rawDesc = nil + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_goTypes = nil + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_depIdxs = nil +} diff --git a/tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto3.pb.go b/tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto3.pb.go new file mode 100644 index 00000000..98c91d55 --- /dev/null +++ b/tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto3.pb.go @@ -0,0 +1,1803 @@ +// Copyright 2023 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: buf/validate/conformance/cases/predefined_rules_proto3.proto + +package cases + +import ( + _ "github.com/bufbuild/protovalidate/tools/internal/gen/buf/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + 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) +) + +type PredefinedEnumRuleProto3_EnumProto3 int32 + +const ( + PredefinedEnumRuleProto3_ENUM_PROTO3_ZERO_UNSPECIFIED PredefinedEnumRuleProto3_EnumProto3 = 0 + PredefinedEnumRuleProto3_ENUM_PROTO3_ONE PredefinedEnumRuleProto3_EnumProto3 = 1 +) + +// Enum value maps for PredefinedEnumRuleProto3_EnumProto3. +var ( + PredefinedEnumRuleProto3_EnumProto3_name = map[int32]string{ + 0: "ENUM_PROTO3_ZERO_UNSPECIFIED", + 1: "ENUM_PROTO3_ONE", + } + PredefinedEnumRuleProto3_EnumProto3_value = map[string]int32{ + "ENUM_PROTO3_ZERO_UNSPECIFIED": 0, + "ENUM_PROTO3_ONE": 1, + } +) + +func (x PredefinedEnumRuleProto3_EnumProto3) Enum() *PredefinedEnumRuleProto3_EnumProto3 { + p := new(PredefinedEnumRuleProto3_EnumProto3) + *p = x + return p +} + +func (x PredefinedEnumRuleProto3_EnumProto3) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PredefinedEnumRuleProto3_EnumProto3) Descriptor() protoreflect.EnumDescriptor { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_enumTypes[0].Descriptor() +} + +func (PredefinedEnumRuleProto3_EnumProto3) Type() protoreflect.EnumType { + return &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_enumTypes[0] +} + +func (x PredefinedEnumRuleProto3_EnumProto3) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PredefinedEnumRuleProto3_EnumProto3.Descriptor instead. +func (PredefinedEnumRuleProto3_EnumProto3) EnumDescriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{15, 0} +} + +type PredefinedFloatRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val float32 `protobuf:"fixed32,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedFloatRuleProto3) Reset() { + *x = PredefinedFloatRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedFloatRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedFloatRuleProto3) ProtoMessage() {} + +func (x *PredefinedFloatRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredefinedFloatRuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedFloatRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{0} +} + +func (x *PredefinedFloatRuleProto3) GetVal() float32 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedDoubleRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val float64 `protobuf:"fixed64,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedDoubleRuleProto3) Reset() { + *x = PredefinedDoubleRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedDoubleRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedDoubleRuleProto3) ProtoMessage() {} + +func (x *PredefinedDoubleRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredefinedDoubleRuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedDoubleRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{1} +} + +func (x *PredefinedDoubleRuleProto3) GetVal() float64 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedInt32RuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int32 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedInt32RuleProto3) Reset() { + *x = PredefinedInt32RuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedInt32RuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedInt32RuleProto3) ProtoMessage() {} + +func (x *PredefinedInt32RuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredefinedInt32RuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedInt32RuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{2} +} + +func (x *PredefinedInt32RuleProto3) GetVal() int32 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedInt64RuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int64 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedInt64RuleProto3) Reset() { + *x = PredefinedInt64RuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedInt64RuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedInt64RuleProto3) ProtoMessage() {} + +func (x *PredefinedInt64RuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredefinedInt64RuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedInt64RuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{3} +} + +func (x *PredefinedInt64RuleProto3) GetVal() int64 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedUInt32RuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val uint32 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedUInt32RuleProto3) Reset() { + *x = PredefinedUInt32RuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedUInt32RuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedUInt32RuleProto3) ProtoMessage() {} + +func (x *PredefinedUInt32RuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedUInt32RuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedUInt32RuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{4} +} + +func (x *PredefinedUInt32RuleProto3) GetVal() uint32 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedUInt64RuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val uint64 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedUInt64RuleProto3) Reset() { + *x = PredefinedUInt64RuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedUInt64RuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedUInt64RuleProto3) ProtoMessage() {} + +func (x *PredefinedUInt64RuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedUInt64RuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedUInt64RuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{5} +} + +func (x *PredefinedUInt64RuleProto3) GetVal() uint64 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedSInt32RuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int32 `protobuf:"zigzag32,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedSInt32RuleProto3) Reset() { + *x = PredefinedSInt32RuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSInt32RuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSInt32RuleProto3) ProtoMessage() {} + +func (x *PredefinedSInt32RuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedSInt32RuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedSInt32RuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{6} +} + +func (x *PredefinedSInt32RuleProto3) GetVal() int32 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedSInt64RuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int64 `protobuf:"zigzag64,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedSInt64RuleProto3) Reset() { + *x = PredefinedSInt64RuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSInt64RuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSInt64RuleProto3) ProtoMessage() {} + +func (x *PredefinedSInt64RuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedSInt64RuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedSInt64RuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{7} +} + +func (x *PredefinedSInt64RuleProto3) GetVal() int64 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedFixed32RuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val uint32 `protobuf:"fixed32,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedFixed32RuleProto3) Reset() { + *x = PredefinedFixed32RuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedFixed32RuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedFixed32RuleProto3) ProtoMessage() {} + +func (x *PredefinedFixed32RuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedFixed32RuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedFixed32RuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{8} +} + +func (x *PredefinedFixed32RuleProto3) GetVal() uint32 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedFixed64RuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val uint64 `protobuf:"fixed64,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedFixed64RuleProto3) Reset() { + *x = PredefinedFixed64RuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedFixed64RuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedFixed64RuleProto3) ProtoMessage() {} + +func (x *PredefinedFixed64RuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedFixed64RuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedFixed64RuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{9} +} + +func (x *PredefinedFixed64RuleProto3) GetVal() uint64 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedSFixed32RuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int32 `protobuf:"fixed32,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedSFixed32RuleProto3) Reset() { + *x = PredefinedSFixed32RuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSFixed32RuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSFixed32RuleProto3) ProtoMessage() {} + +func (x *PredefinedSFixed32RuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedSFixed32RuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedSFixed32RuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{10} +} + +func (x *PredefinedSFixed32RuleProto3) GetVal() int32 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedSFixed64RuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val int64 `protobuf:"fixed64,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedSFixed64RuleProto3) Reset() { + *x = PredefinedSFixed64RuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSFixed64RuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSFixed64RuleProto3) ProtoMessage() {} + +func (x *PredefinedSFixed64RuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedSFixed64RuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedSFixed64RuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{11} +} + +func (x *PredefinedSFixed64RuleProto3) GetVal() int64 { + if x != nil { + return x.Val + } + return 0 +} + +type PredefinedBoolRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val bool `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedBoolRuleProto3) Reset() { + *x = PredefinedBoolRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedBoolRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedBoolRuleProto3) ProtoMessage() {} + +func (x *PredefinedBoolRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedBoolRuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedBoolRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{12} +} + +func (x *PredefinedBoolRuleProto3) GetVal() bool { + if x != nil { + return x.Val + } + return false +} + +type PredefinedStringRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedStringRuleProto3) Reset() { + *x = PredefinedStringRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedStringRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedStringRuleProto3) ProtoMessage() {} + +func (x *PredefinedStringRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedStringRuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedStringRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{13} +} + +func (x *PredefinedStringRuleProto3) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type PredefinedBytesRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []byte `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedBytesRuleProto3) Reset() { + *x = PredefinedBytesRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedBytesRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedBytesRuleProto3) ProtoMessage() {} + +func (x *PredefinedBytesRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedBytesRuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedBytesRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{14} +} + +func (x *PredefinedBytesRuleProto3) GetVal() []byte { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedEnumRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val PredefinedEnumRuleProto3_EnumProto3 `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.PredefinedEnumRuleProto3_EnumProto3" json:"val,omitempty"` +} + +func (x *PredefinedEnumRuleProto3) Reset() { + *x = PredefinedEnumRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedEnumRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedEnumRuleProto3) ProtoMessage() {} + +func (x *PredefinedEnumRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedEnumRuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedEnumRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{15} +} + +func (x *PredefinedEnumRuleProto3) GetVal() PredefinedEnumRuleProto3_EnumProto3 { + if x != nil { + return x.Val + } + return PredefinedEnumRuleProto3_ENUM_PROTO3_ZERO_UNSPECIFIED +} + +type PredefinedMapRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val map[uint64]uint64 `protobuf:"bytes,1,rep,name=val,proto3" json:"val,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *PredefinedMapRuleProto3) Reset() { + *x = PredefinedMapRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedMapRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedMapRuleProto3) ProtoMessage() {} + +func (x *PredefinedMapRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedMapRuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedMapRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{16} +} + +func (x *PredefinedMapRuleProto3) GetVal() map[uint64]uint64 { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedRepeatedRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []uint64 `protobuf:"varint,1,rep,packed,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedRepeatedRuleProto3) Reset() { + *x = PredefinedRepeatedRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedRepeatedRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedRepeatedRuleProto3) ProtoMessage() {} + +func (x *PredefinedRepeatedRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedRepeatedRuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedRepeatedRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{17} +} + +func (x *PredefinedRepeatedRuleProto3) GetVal() []uint64 { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedDurationRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *durationpb.Duration `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedDurationRuleProto3) Reset() { + *x = PredefinedDurationRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedDurationRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedDurationRuleProto3) ProtoMessage() {} + +func (x *PredefinedDurationRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedDurationRuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedDurationRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{18} +} + +func (x *PredefinedDurationRuleProto3) GetVal() *durationpb.Duration { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedTimestampRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *PredefinedTimestampRuleProto3) Reset() { + *x = PredefinedTimestampRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedTimestampRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedTimestampRuleProto3) ProtoMessage() {} + +func (x *PredefinedTimestampRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedTimestampRuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedTimestampRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{19} +} + +func (x *PredefinedTimestampRuleProto3) GetVal() *timestamppb.Timestamp { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedAndCustomRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + A int32 `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"` + B *PredefinedAndCustomRuleProto3_Nested `protobuf:"bytes,2,opt,name=b,proto3,oneof" json:"b,omitempty"` +} + +func (x *PredefinedAndCustomRuleProto3) Reset() { + *x = PredefinedAndCustomRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedAndCustomRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedAndCustomRuleProto3) ProtoMessage() {} + +func (x *PredefinedAndCustomRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedAndCustomRuleProto3.ProtoReflect.Descriptor instead. +func (*PredefinedAndCustomRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{20} +} + +func (x *PredefinedAndCustomRuleProto3) GetA() int32 { + if x != nil { + return x.A + } + return 0 +} + +func (x *PredefinedAndCustomRuleProto3) GetB() *PredefinedAndCustomRuleProto3_Nested { + if x != nil { + return x.B + } + return nil +} + +type StandardPredefinedAndCustomRuleProto3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + A int32 `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"` +} + +func (x *StandardPredefinedAndCustomRuleProto3) Reset() { + *x = StandardPredefinedAndCustomRuleProto3{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StandardPredefinedAndCustomRuleProto3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StandardPredefinedAndCustomRuleProto3) ProtoMessage() {} + +func (x *StandardPredefinedAndCustomRuleProto3) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 StandardPredefinedAndCustomRuleProto3.ProtoReflect.Descriptor instead. +func (*StandardPredefinedAndCustomRuleProto3) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{21} +} + +func (x *StandardPredefinedAndCustomRuleProto3) GetA() int32 { + if x != nil { + return x.A + } + return 0 +} + +// This is a workaround for https://github.com/bufbuild/buf/issues/3306. +// TODO(jchadwick-buf): Remove this when bufbuild/buf#3306 is fixed. +type PredefinedRulesProto3UnusedImportBugWorkaround struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dummy_1 *StandardPredefinedAndCustomRuleProto2 `protobuf:"bytes,1,opt,name=dummy_1,json=dummy1,proto3" json:"dummy_1,omitempty"` + Dummy_2 *StandardPredefinedAndCustomRuleEdition2023 `protobuf:"bytes,2,opt,name=dummy_2,json=dummy2,proto3" json:"dummy_2,omitempty"` +} + +func (x *PredefinedRulesProto3UnusedImportBugWorkaround) Reset() { + *x = PredefinedRulesProto3UnusedImportBugWorkaround{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedRulesProto3UnusedImportBugWorkaround) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedRulesProto3UnusedImportBugWorkaround) ProtoMessage() {} + +func (x *PredefinedRulesProto3UnusedImportBugWorkaround) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_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 PredefinedRulesProto3UnusedImportBugWorkaround.ProtoReflect.Descriptor instead. +func (*PredefinedRulesProto3UnusedImportBugWorkaround) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{22} +} + +func (x *PredefinedRulesProto3UnusedImportBugWorkaround) GetDummy_1() *StandardPredefinedAndCustomRuleProto2 { + if x != nil { + return x.Dummy_1 + } + return nil +} + +func (x *PredefinedRulesProto3UnusedImportBugWorkaround) GetDummy_2() *StandardPredefinedAndCustomRuleEdition2023 { + if x != nil { + return x.Dummy_2 + } + return nil +} + +type PredefinedAndCustomRuleProto3_Nested struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + C int32 `protobuf:"varint,1,opt,name=c,proto3" json:"c,omitempty"` +} + +func (x *PredefinedAndCustomRuleProto3_Nested) Reset() { + *x = PredefinedAndCustomRuleProto3_Nested{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedAndCustomRuleProto3_Nested) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedAndCustomRuleProto3_Nested) ProtoMessage() {} + +func (x *PredefinedAndCustomRuleProto3_Nested) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[24] + 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 PredefinedAndCustomRuleProto3_Nested.ProtoReflect.Descriptor instead. +func (*PredefinedAndCustomRuleProto3_Nested) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP(), []int{20, 0} +} + +func (x *PredefinedAndCustomRuleProto3_Nested) GetC() int32 { + if x != nil { + return x.C + } + return 0 +} + +var File_buf_validate_conformance_cases_predefined_rules_proto3_proto protoreflect.FileDescriptor + +var file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDesc = []byte{ + 0x0a, 0x3c, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, + 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, + 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, + 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x1a, 0x3c, + 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x70, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x44, 0x62, 0x75, + 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 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, 0x3a, 0x0a, 0x19, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x6c, + 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x1d, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x0a, + 0x06, 0xcd, 0x48, 0x00, 0x00, 0x80, 0x3f, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3f, 0x0a, 0x1a, + 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x12, 0x0a, 0xc9, 0x48, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x37, 0x0a, + 0x19, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x08, 0xba, 0x48, 0x05, 0x1a, 0x03, 0xc8, 0x48, + 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x37, 0x0a, 0x19, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x42, 0x08, 0xba, 0x48, 0x05, 0x22, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x38, 0x0a, 0x1a, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x55, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x1a, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xba, 0x48, 0x05, 0x2a, + 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, 0x1a, 0x50, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x42, 0x08, 0xba, 0x48, 0x05, 0x32, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, 0x1a, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x08, + 0xba, 0x48, 0x05, 0x3a, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, + 0x1a, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x08, 0xba, 0x48, 0x05, 0x42, 0x03, 0xc8, + 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x39, 0x0a, 0x1b, 0x50, 0x72, 0x65, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x07, 0x42, 0x08, 0xba, 0x48, 0x05, 0x4a, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x39, 0x0a, 0x1b, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x08, + 0xba, 0x48, 0x05, 0x52, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, + 0x1c, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x1a, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x08, 0xba, 0x48, 0x05, 0x5a, + 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x1c, 0x50, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, + 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x08, 0xba, 0x48, 0x05, 0x62, 0x03, 0xc8, 0x48, 0x01, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x36, 0x0a, 0x18, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x08, + 0xba, 0x48, 0x05, 0x6a, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, + 0x1a, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xc8, + 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x37, 0x0a, 0x19, 0x50, 0x72, 0x65, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x42, 0x08, 0xba, 0x48, 0x05, 0x7a, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, + 0x22, 0xc1, 0x01, 0x0a, 0x18, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x45, + 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x60, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x62, 0x75, 0x66, + 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x42, + 0x09, 0xba, 0x48, 0x06, 0x82, 0x01, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x43, 0x0a, 0x0a, 0x45, 0x6e, 0x75, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x20, 0x0a, + 0x1c, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x33, 0x5f, 0x5a, 0x45, 0x52, + 0x4f, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x33, 0x5f, 0x4f, + 0x4e, 0x45, 0x10, 0x01, 0x22, 0xb0, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x5d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, + 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x56, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, + 0x09, 0xba, 0x48, 0x06, 0x9a, 0x01, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, + 0x36, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3b, 0x0a, 0x1c, 0x50, 0x72, 0x65, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x04, 0x42, 0x09, 0xba, 0x48, 0x06, 0x92, 0x01, 0x03, 0xc8, 0x48, 0x01, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x56, 0x0a, 0x1c, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x36, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 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, 0x42, 0x09, 0xba, 0x48, + 0x06, 0xaa, 0x01, 0x03, 0xc8, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x58, 0x0a, 0x1d, + 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x37, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x09, 0xba, 0x48, 0x06, 0xb2, 0x01, 0x03, 0xc8, 0x48, + 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0xc9, 0x03, 0x0a, 0x1d, 0x50, 0x72, 0x65, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x75, + 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x71, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x63, 0xba, 0x48, 0x60, 0xba, 0x01, 0x58, 0x0a, 0x28, 0x70, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x1a, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x32, 0x34, + 0x20, 0x3f, 0x20, 0x27, 0x27, 0x20, 0x3a, 0x20, 0x27, 0x61, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, + 0x32, 0x34, 0x27, 0x1a, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x01, 0x61, 0x12, 0xb9, 0x01, 0x0a, 0x01, + 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, + 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x42, 0x60, 0xba, + 0x48, 0x5d, 0xba, 0x01, 0x5a, 0x0a, 0x2a, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, 0x12, 0x1b, 0x62, 0x2e, 0x63, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, + 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x33, 0x1a, 0x0f, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x20, 0x25, 0x20, 0x33, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x48, + 0x00, 0x52, 0x01, 0x62, 0x88, 0x01, 0x01, 0x1a, 0x73, 0x0a, 0x06, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x12, 0x69, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x5b, 0xba, 0x48, + 0x58, 0xba, 0x01, 0x50, 0x0a, 0x28, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x1a, 0x24, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x3f, 0x20, 0x27, 0x27, 0x20, 0x3a, 0x20, + 0x27, 0x63, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x76, 0x65, 0x27, 0x1a, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x01, 0x63, 0x42, 0x04, 0x0a, 0x02, + 0x5f, 0x62, 0x22, 0xa5, 0x01, 0x0a, 0x25, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x50, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x12, 0x7c, 0x0a, 0x01, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x6e, 0xba, 0x48, 0x6b, 0xba, 0x01, 0x61, 0x0a, + 0x31, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, 0x1a, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x32, 0x34, 0x20, 0x3f, 0x20, + 0x27, 0x27, 0x20, 0x3a, 0x20, 0x27, 0x61, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x32, 0x34, 0x27, + 0x1a, 0x05, 0xc8, 0x48, 0x01, 0x10, 0x1c, 0x52, 0x01, 0x61, 0x22, 0xf5, 0x01, 0x0a, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x33, 0x55, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x42, 0x75, 0x67, 0x57, 0x6f, 0x72, 0x6b, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x5e, 0x0a, + 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, + 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, + 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x41, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x52, 0x06, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x31, 0x12, 0x63, 0x0a, + 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, + 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, + 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x41, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x45, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x52, 0x06, 0x64, 0x75, 0x6d, 0x6d, + 0x79, 0x32, 0x42, 0xb1, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x1a, 0x50, 0x72, 0x65, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, + 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, + 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, + 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, + 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, + 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, + 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescOnce sync.Once + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescData = file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDesc +) + +func file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescGZIP() []byte { + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescOnce.Do(func() { + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescData = protoimpl.X.CompressGZIP(file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescData) + }) + return file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDescData +} + +var file_buf_validate_conformance_cases_predefined_rules_proto3_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_buf_validate_conformance_cases_predefined_rules_proto3_proto_goTypes = []any{ + (PredefinedEnumRuleProto3_EnumProto3)(0), // 0: buf.validate.conformance.cases.PredefinedEnumRuleProto3.EnumProto3 + (*PredefinedFloatRuleProto3)(nil), // 1: buf.validate.conformance.cases.PredefinedFloatRuleProto3 + (*PredefinedDoubleRuleProto3)(nil), // 2: buf.validate.conformance.cases.PredefinedDoubleRuleProto3 + (*PredefinedInt32RuleProto3)(nil), // 3: buf.validate.conformance.cases.PredefinedInt32RuleProto3 + (*PredefinedInt64RuleProto3)(nil), // 4: buf.validate.conformance.cases.PredefinedInt64RuleProto3 + (*PredefinedUInt32RuleProto3)(nil), // 5: buf.validate.conformance.cases.PredefinedUInt32RuleProto3 + (*PredefinedUInt64RuleProto3)(nil), // 6: buf.validate.conformance.cases.PredefinedUInt64RuleProto3 + (*PredefinedSInt32RuleProto3)(nil), // 7: buf.validate.conformance.cases.PredefinedSInt32RuleProto3 + (*PredefinedSInt64RuleProto3)(nil), // 8: buf.validate.conformance.cases.PredefinedSInt64RuleProto3 + (*PredefinedFixed32RuleProto3)(nil), // 9: buf.validate.conformance.cases.PredefinedFixed32RuleProto3 + (*PredefinedFixed64RuleProto3)(nil), // 10: buf.validate.conformance.cases.PredefinedFixed64RuleProto3 + (*PredefinedSFixed32RuleProto3)(nil), // 11: buf.validate.conformance.cases.PredefinedSFixed32RuleProto3 + (*PredefinedSFixed64RuleProto3)(nil), // 12: buf.validate.conformance.cases.PredefinedSFixed64RuleProto3 + (*PredefinedBoolRuleProto3)(nil), // 13: buf.validate.conformance.cases.PredefinedBoolRuleProto3 + (*PredefinedStringRuleProto3)(nil), // 14: buf.validate.conformance.cases.PredefinedStringRuleProto3 + (*PredefinedBytesRuleProto3)(nil), // 15: buf.validate.conformance.cases.PredefinedBytesRuleProto3 + (*PredefinedEnumRuleProto3)(nil), // 16: buf.validate.conformance.cases.PredefinedEnumRuleProto3 + (*PredefinedMapRuleProto3)(nil), // 17: buf.validate.conformance.cases.PredefinedMapRuleProto3 + (*PredefinedRepeatedRuleProto3)(nil), // 18: buf.validate.conformance.cases.PredefinedRepeatedRuleProto3 + (*PredefinedDurationRuleProto3)(nil), // 19: buf.validate.conformance.cases.PredefinedDurationRuleProto3 + (*PredefinedTimestampRuleProto3)(nil), // 20: buf.validate.conformance.cases.PredefinedTimestampRuleProto3 + (*PredefinedAndCustomRuleProto3)(nil), // 21: buf.validate.conformance.cases.PredefinedAndCustomRuleProto3 + (*StandardPredefinedAndCustomRuleProto3)(nil), // 22: buf.validate.conformance.cases.StandardPredefinedAndCustomRuleProto3 + (*PredefinedRulesProto3UnusedImportBugWorkaround)(nil), // 23: buf.validate.conformance.cases.PredefinedRulesProto3UnusedImportBugWorkaround + nil, // 24: buf.validate.conformance.cases.PredefinedMapRuleProto3.ValEntry + (*PredefinedAndCustomRuleProto3_Nested)(nil), // 25: buf.validate.conformance.cases.PredefinedAndCustomRuleProto3.Nested + (*durationpb.Duration)(nil), // 26: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp + (*StandardPredefinedAndCustomRuleProto2)(nil), // 28: buf.validate.conformance.cases.StandardPredefinedAndCustomRuleProto2 + (*StandardPredefinedAndCustomRuleEdition2023)(nil), // 29: buf.validate.conformance.cases.StandardPredefinedAndCustomRuleEdition2023 +} +var file_buf_validate_conformance_cases_predefined_rules_proto3_proto_depIdxs = []int32{ + 0, // 0: buf.validate.conformance.cases.PredefinedEnumRuleProto3.val:type_name -> buf.validate.conformance.cases.PredefinedEnumRuleProto3.EnumProto3 + 24, // 1: buf.validate.conformance.cases.PredefinedMapRuleProto3.val:type_name -> buf.validate.conformance.cases.PredefinedMapRuleProto3.ValEntry + 26, // 2: buf.validate.conformance.cases.PredefinedDurationRuleProto3.val:type_name -> google.protobuf.Duration + 27, // 3: buf.validate.conformance.cases.PredefinedTimestampRuleProto3.val:type_name -> google.protobuf.Timestamp + 25, // 4: buf.validate.conformance.cases.PredefinedAndCustomRuleProto3.b:type_name -> buf.validate.conformance.cases.PredefinedAndCustomRuleProto3.Nested + 28, // 5: buf.validate.conformance.cases.PredefinedRulesProto3UnusedImportBugWorkaround.dummy_1:type_name -> buf.validate.conformance.cases.StandardPredefinedAndCustomRuleProto2 + 29, // 6: buf.validate.conformance.cases.PredefinedRulesProto3UnusedImportBugWorkaround.dummy_2:type_name -> buf.validate.conformance.cases.StandardPredefinedAndCustomRuleEdition2023 + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_buf_validate_conformance_cases_predefined_rules_proto3_proto_init() } +func file_buf_validate_conformance_cases_predefined_rules_proto3_proto_init() { + if File_buf_validate_conformance_cases_predefined_rules_proto3_proto != nil { + return + } + file_buf_validate_conformance_cases_predefined_rules_proto2_proto_init() + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_init() + if !protoimpl.UnsafeEnabled { + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedFloatRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedDoubleRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedInt32RuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedInt64RuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedUInt32RuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedUInt64RuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSInt32RuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[7].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSInt64RuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedFixed32RuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedFixed64RuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSFixed32RuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[11].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSFixed64RuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[12].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedBoolRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[13].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedStringRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[14].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedBytesRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[15].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedEnumRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[16].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedMapRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[17].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedRepeatedRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[18].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedDurationRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[19].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedTimestampRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[20].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedAndCustomRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[21].Exporter = func(v any, i int) any { + switch v := v.(*StandardPredefinedAndCustomRuleProto3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[22].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedRulesProto3UnusedImportBugWorkaround); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[24].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedAndCustomRuleProto3_Nested); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes[20].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDesc, + NumEnums: 1, + NumMessages: 25, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_buf_validate_conformance_cases_predefined_rules_proto3_proto_goTypes, + DependencyIndexes: file_buf_validate_conformance_cases_predefined_rules_proto3_proto_depIdxs, + EnumInfos: file_buf_validate_conformance_cases_predefined_rules_proto3_proto_enumTypes, + MessageInfos: file_buf_validate_conformance_cases_predefined_rules_proto3_proto_msgTypes, + }.Build() + File_buf_validate_conformance_cases_predefined_rules_proto3_proto = out.File + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_rawDesc = nil + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_goTypes = nil + file_buf_validate_conformance_cases_predefined_rules_proto3_proto_depIdxs = nil +} diff --git a/tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto_editions.pb.go b/tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto_editions.pb.go new file mode 100644 index 00000000..658f9e48 --- /dev/null +++ b/tools/internal/gen/buf/validate/conformance/cases/predefined_rules_proto_editions.pb.go @@ -0,0 +1,2271 @@ +// Copyright 2023 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: buf/validate/conformance/cases/predefined_rules_proto_editions.proto + +package cases + +import ( + validate "github.com/bufbuild/protovalidate/tools/internal/gen/buf/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + 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) +) + +type PredefinedEnumRuleEdition2023_EnumEdition2023 int32 + +const ( + PredefinedEnumRuleEdition2023_ENUM_EDITION2023_ZERO_UNSPECIFIED PredefinedEnumRuleEdition2023_EnumEdition2023 = 0 + PredefinedEnumRuleEdition2023_ENUM_EDITION2023_ONE PredefinedEnumRuleEdition2023_EnumEdition2023 = 1 +) + +// Enum value maps for PredefinedEnumRuleEdition2023_EnumEdition2023. +var ( + PredefinedEnumRuleEdition2023_EnumEdition2023_name = map[int32]string{ + 0: "ENUM_EDITION2023_ZERO_UNSPECIFIED", + 1: "ENUM_EDITION2023_ONE", + } + PredefinedEnumRuleEdition2023_EnumEdition2023_value = map[string]int32{ + "ENUM_EDITION2023_ZERO_UNSPECIFIED": 0, + "ENUM_EDITION2023_ONE": 1, + } +) + +func (x PredefinedEnumRuleEdition2023_EnumEdition2023) Enum() *PredefinedEnumRuleEdition2023_EnumEdition2023 { + p := new(PredefinedEnumRuleEdition2023_EnumEdition2023) + *p = x + return p +} + +func (x PredefinedEnumRuleEdition2023_EnumEdition2023) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PredefinedEnumRuleEdition2023_EnumEdition2023) Descriptor() protoreflect.EnumDescriptor { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_enumTypes[0].Descriptor() +} + +func (PredefinedEnumRuleEdition2023_EnumEdition2023) Type() protoreflect.EnumType { + return &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_enumTypes[0] +} + +func (x PredefinedEnumRuleEdition2023_EnumEdition2023) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PredefinedEnumRuleEdition2023_EnumEdition2023.Descriptor instead. +func (PredefinedEnumRuleEdition2023_EnumEdition2023) EnumDescriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{15, 0} +} + +type PredefinedFloatRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *float32 `protobuf:"fixed32,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedFloatRuleEdition2023) Reset() { + *x = PredefinedFloatRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedFloatRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedFloatRuleEdition2023) ProtoMessage() {} + +func (x *PredefinedFloatRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedFloatRuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedFloatRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{0} +} + +func (x *PredefinedFloatRuleEdition2023) GetVal() float32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedDoubleRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *float64 `protobuf:"fixed64,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedDoubleRuleEdition2023) Reset() { + *x = PredefinedDoubleRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedDoubleRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedDoubleRuleEdition2023) ProtoMessage() {} + +func (x *PredefinedDoubleRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedDoubleRuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedDoubleRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{1} +} + +func (x *PredefinedDoubleRuleEdition2023) GetVal() float64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedInt32RuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int32 `protobuf:"varint,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedInt32RuleEdition2023) Reset() { + *x = PredefinedInt32RuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedInt32RuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedInt32RuleEdition2023) ProtoMessage() {} + +func (x *PredefinedInt32RuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedInt32RuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedInt32RuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{2} +} + +func (x *PredefinedInt32RuleEdition2023) GetVal() int32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedInt64RuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int64 `protobuf:"varint,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedInt64RuleEdition2023) Reset() { + *x = PredefinedInt64RuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedInt64RuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedInt64RuleEdition2023) ProtoMessage() {} + +func (x *PredefinedInt64RuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedInt64RuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedInt64RuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{3} +} + +func (x *PredefinedInt64RuleEdition2023) GetVal() int64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedUInt32RuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *uint32 `protobuf:"varint,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedUInt32RuleEdition2023) Reset() { + *x = PredefinedUInt32RuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedUInt32RuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedUInt32RuleEdition2023) ProtoMessage() {} + +func (x *PredefinedUInt32RuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedUInt32RuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedUInt32RuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{4} +} + +func (x *PredefinedUInt32RuleEdition2023) GetVal() uint32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedUInt64RuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *uint64 `protobuf:"varint,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedUInt64RuleEdition2023) Reset() { + *x = PredefinedUInt64RuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedUInt64RuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedUInt64RuleEdition2023) ProtoMessage() {} + +func (x *PredefinedUInt64RuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedUInt64RuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedUInt64RuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{5} +} + +func (x *PredefinedUInt64RuleEdition2023) GetVal() uint64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedSInt32RuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int32 `protobuf:"zigzag32,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedSInt32RuleEdition2023) Reset() { + *x = PredefinedSInt32RuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSInt32RuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSInt32RuleEdition2023) ProtoMessage() {} + +func (x *PredefinedSInt32RuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedSInt32RuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedSInt32RuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{6} +} + +func (x *PredefinedSInt32RuleEdition2023) GetVal() int32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedSInt64RuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int64 `protobuf:"zigzag64,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedSInt64RuleEdition2023) Reset() { + *x = PredefinedSInt64RuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSInt64RuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSInt64RuleEdition2023) ProtoMessage() {} + +func (x *PredefinedSInt64RuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedSInt64RuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedSInt64RuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{7} +} + +func (x *PredefinedSInt64RuleEdition2023) GetVal() int64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedFixed32RuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *uint32 `protobuf:"fixed32,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedFixed32RuleEdition2023) Reset() { + *x = PredefinedFixed32RuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedFixed32RuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedFixed32RuleEdition2023) ProtoMessage() {} + +func (x *PredefinedFixed32RuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedFixed32RuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedFixed32RuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{8} +} + +func (x *PredefinedFixed32RuleEdition2023) GetVal() uint32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedFixed64RuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *uint64 `protobuf:"fixed64,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedFixed64RuleEdition2023) Reset() { + *x = PredefinedFixed64RuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedFixed64RuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedFixed64RuleEdition2023) ProtoMessage() {} + +func (x *PredefinedFixed64RuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedFixed64RuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedFixed64RuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{9} +} + +func (x *PredefinedFixed64RuleEdition2023) GetVal() uint64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedSFixed32RuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int32 `protobuf:"fixed32,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedSFixed32RuleEdition2023) Reset() { + *x = PredefinedSFixed32RuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSFixed32RuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSFixed32RuleEdition2023) ProtoMessage() {} + +func (x *PredefinedSFixed32RuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedSFixed32RuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedSFixed32RuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{10} +} + +func (x *PredefinedSFixed32RuleEdition2023) GetVal() int32 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedSFixed64RuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *int64 `protobuf:"fixed64,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedSFixed64RuleEdition2023) Reset() { + *x = PredefinedSFixed64RuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedSFixed64RuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedSFixed64RuleEdition2023) ProtoMessage() {} + +func (x *PredefinedSFixed64RuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedSFixed64RuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedSFixed64RuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{11} +} + +func (x *PredefinedSFixed64RuleEdition2023) GetVal() int64 { + if x != nil && x.Val != nil { + return *x.Val + } + return 0 +} + +type PredefinedBoolRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *bool `protobuf:"varint,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedBoolRuleEdition2023) Reset() { + *x = PredefinedBoolRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedBoolRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedBoolRuleEdition2023) ProtoMessage() {} + +func (x *PredefinedBoolRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedBoolRuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedBoolRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{12} +} + +func (x *PredefinedBoolRuleEdition2023) GetVal() bool { + if x != nil && x.Val != nil { + return *x.Val + } + return false +} + +type PredefinedStringRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *string `protobuf:"bytes,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedStringRuleEdition2023) Reset() { + *x = PredefinedStringRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedStringRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedStringRuleEdition2023) ProtoMessage() {} + +func (x *PredefinedStringRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedStringRuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedStringRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{13} +} + +func (x *PredefinedStringRuleEdition2023) GetVal() string { + if x != nil && x.Val != nil { + return *x.Val + } + return "" +} + +type PredefinedBytesRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []byte `protobuf:"bytes,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedBytesRuleEdition2023) Reset() { + *x = PredefinedBytesRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedBytesRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedBytesRuleEdition2023) ProtoMessage() {} + +func (x *PredefinedBytesRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedBytesRuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedBytesRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{14} +} + +func (x *PredefinedBytesRuleEdition2023) GetVal() []byte { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedEnumRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *PredefinedEnumRuleEdition2023_EnumEdition2023 `protobuf:"varint,1,opt,name=val,enum=buf.validate.conformance.cases.PredefinedEnumRuleEdition2023_EnumEdition2023" json:"val,omitempty"` +} + +func (x *PredefinedEnumRuleEdition2023) Reset() { + *x = PredefinedEnumRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedEnumRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedEnumRuleEdition2023) ProtoMessage() {} + +func (x *PredefinedEnumRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedEnumRuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedEnumRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{15} +} + +func (x *PredefinedEnumRuleEdition2023) GetVal() PredefinedEnumRuleEdition2023_EnumEdition2023 { + if x != nil && x.Val != nil { + return *x.Val + } + return PredefinedEnumRuleEdition2023_ENUM_EDITION2023_ZERO_UNSPECIFIED +} + +type PredefinedRepeatedRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []uint64 `protobuf:"varint,1,rep,packed,name=val" json:"val,omitempty"` +} + +func (x *PredefinedRepeatedRuleEdition2023) Reset() { + *x = PredefinedRepeatedRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedRepeatedRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedRepeatedRuleEdition2023) ProtoMessage() {} + +func (x *PredefinedRepeatedRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedRepeatedRuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedRepeatedRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{16} +} + +func (x *PredefinedRepeatedRuleEdition2023) GetVal() []uint64 { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedMapRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val map[uint64]uint64 `protobuf:"bytes,1,rep,name=val" json:"val,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` +} + +func (x *PredefinedMapRuleEdition2023) Reset() { + *x = PredefinedMapRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedMapRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedMapRuleEdition2023) ProtoMessage() {} + +func (x *PredefinedMapRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedMapRuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedMapRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{17} +} + +func (x *PredefinedMapRuleEdition2023) GetVal() map[uint64]uint64 { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedDurationRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *durationpb.Duration `protobuf:"bytes,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedDurationRuleEdition2023) Reset() { + *x = PredefinedDurationRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedDurationRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedDurationRuleEdition2023) ProtoMessage() {} + +func (x *PredefinedDurationRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedDurationRuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedDurationRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{18} +} + +func (x *PredefinedDurationRuleEdition2023) GetVal() *durationpb.Duration { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedTimestampRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=val" json:"val,omitempty"` +} + +func (x *PredefinedTimestampRuleEdition2023) Reset() { + *x = PredefinedTimestampRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedTimestampRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedTimestampRuleEdition2023) ProtoMessage() {} + +func (x *PredefinedTimestampRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedTimestampRuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedTimestampRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{19} +} + +func (x *PredefinedTimestampRuleEdition2023) GetVal() *timestamppb.Timestamp { + if x != nil { + return x.Val + } + return nil +} + +type PredefinedAndCustomRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + A *int32 `protobuf:"varint,1,opt,name=a" json:"a,omitempty"` + B *PredefinedAndCustomRuleEdition2023_Nested `protobuf:"bytes,2,opt,name=b" json:"b,omitempty"` +} + +func (x *PredefinedAndCustomRuleEdition2023) Reset() { + *x = PredefinedAndCustomRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedAndCustomRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedAndCustomRuleEdition2023) ProtoMessage() {} + +func (x *PredefinedAndCustomRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 PredefinedAndCustomRuleEdition2023.ProtoReflect.Descriptor instead. +func (*PredefinedAndCustomRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{20} +} + +func (x *PredefinedAndCustomRuleEdition2023) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +func (x *PredefinedAndCustomRuleEdition2023) GetB() *PredefinedAndCustomRuleEdition2023_Nested { + if x != nil { + return x.B + } + return nil +} + +type StandardPredefinedAndCustomRuleEdition2023 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + A *int32 `protobuf:"varint,1,opt,name=a" json:"a,omitempty"` +} + +func (x *StandardPredefinedAndCustomRuleEdition2023) Reset() { + *x = StandardPredefinedAndCustomRuleEdition2023{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StandardPredefinedAndCustomRuleEdition2023) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StandardPredefinedAndCustomRuleEdition2023) ProtoMessage() {} + +func (x *StandardPredefinedAndCustomRuleEdition2023) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_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 StandardPredefinedAndCustomRuleEdition2023.ProtoReflect.Descriptor instead. +func (*StandardPredefinedAndCustomRuleEdition2023) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{21} +} + +func (x *StandardPredefinedAndCustomRuleEdition2023) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +type PredefinedAndCustomRuleEdition2023_Nested struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + C *int32 `protobuf:"varint,1,opt,name=c" json:"c,omitempty"` +} + +func (x *PredefinedAndCustomRuleEdition2023_Nested) Reset() { + *x = PredefinedAndCustomRuleEdition2023_Nested{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedAndCustomRuleEdition2023_Nested) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedAndCustomRuleEdition2023_Nested) ProtoMessage() {} + +func (x *PredefinedAndCustomRuleEdition2023_Nested) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[23] + 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 PredefinedAndCustomRuleEdition2023_Nested.ProtoReflect.Descriptor instead. +func (*PredefinedAndCustomRuleEdition2023_Nested) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP(), []int{20, 0} +} + +func (x *PredefinedAndCustomRuleEdition2023_Nested) GetC() int32 { + if x != nil && x.C != nil { + return *x.C + } + return 0 +} + +var file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*validate.FloatRules)(nil), + ExtensionType: (*float32)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.float_abs_range_edition_2023", + Tag: "fixed32,1162,opt,name=float_abs_range_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.DoubleRules)(nil), + ExtensionType: (*float64)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.double_abs_range_edition_2023", + Tag: "fixed64,1162,opt,name=double_abs_range_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.Int32Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.int32_even_edition_2023", + Tag: "varint,1162,opt,name=int32_even_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.Int64Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.int64_even_edition_2023", + Tag: "varint,1162,opt,name=int64_even_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.UInt32Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.uint32_even_edition_2023", + Tag: "varint,1162,opt,name=uint32_even_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.UInt64Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.uint64_even_edition_2023", + Tag: "varint,1162,opt,name=uint64_even_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.SInt32Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.sint32_even_edition_2023", + Tag: "varint,1162,opt,name=sint32_even_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.SInt64Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.sint64_even_edition_2023", + Tag: "varint,1162,opt,name=sint64_even_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.Fixed32Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.fixed32_even_edition_2023", + Tag: "varint,1162,opt,name=fixed32_even_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.Fixed64Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.fixed64_even_edition_2023", + Tag: "varint,1162,opt,name=fixed64_even_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.SFixed32Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.sfixed32_even_edition_2023", + Tag: "varint,1162,opt,name=sfixed32_even_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.SFixed64Rules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.sfixed64_even_edition_2023", + Tag: "varint,1162,opt,name=sfixed64_even_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.BoolRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.bool_false_edition_2023", + Tag: "varint,1162,opt,name=bool_false_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.StringRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.string_valid_path_edition_2023", + Tag: "varint,1162,opt,name=string_valid_path_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.BytesRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.bytes_valid_path_edition_2023", + Tag: "varint,1162,opt,name=bytes_valid_path_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.EnumRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.enum_non_zero_edition_2023", + Tag: "varint,1162,opt,name=enum_non_zero_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.RepeatedRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.repeated_at_least_five_edition_2023", + Tag: "varint,1162,opt,name=repeated_at_least_five_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.MapRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.map_at_least_five_edition_2023", + Tag: "varint,1162,opt,name=map_at_least_five_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.DurationRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.duration_too_long_edition_2023", + Tag: "varint,1162,opt,name=duration_too_long_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, + { + ExtendedType: (*validate.TimestampRules)(nil), + ExtensionType: (*bool)(nil), + Field: 1162, + Name: "buf.validate.conformance.cases.timestamp_in_range_edition_2023", + Tag: "varint,1162,opt,name=timestamp_in_range_edition_2023", + Filename: "buf/validate/conformance/cases/predefined_rules_proto_editions.proto", + }, +} + +// Extension fields to validate.FloatRules. +var ( + // optional float float_abs_range_edition_2023 = 1162; + E_FloatAbsRangeEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[0] +) + +// Extension fields to validate.DoubleRules. +var ( + // optional double double_abs_range_edition_2023 = 1162; + E_DoubleAbsRangeEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[1] +) + +// Extension fields to validate.Int32Rules. +var ( + // optional bool int32_even_edition_2023 = 1162; + E_Int32EvenEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[2] +) + +// Extension fields to validate.Int64Rules. +var ( + // optional bool int64_even_edition_2023 = 1162; + E_Int64EvenEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[3] +) + +// Extension fields to validate.UInt32Rules. +var ( + // optional bool uint32_even_edition_2023 = 1162; + E_Uint32EvenEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[4] +) + +// Extension fields to validate.UInt64Rules. +var ( + // optional bool uint64_even_edition_2023 = 1162; + E_Uint64EvenEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[5] +) + +// Extension fields to validate.SInt32Rules. +var ( + // optional bool sint32_even_edition_2023 = 1162; + E_Sint32EvenEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[6] +) + +// Extension fields to validate.SInt64Rules. +var ( + // optional bool sint64_even_edition_2023 = 1162; + E_Sint64EvenEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[7] +) + +// Extension fields to validate.Fixed32Rules. +var ( + // optional bool fixed32_even_edition_2023 = 1162; + E_Fixed32EvenEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[8] +) + +// Extension fields to validate.Fixed64Rules. +var ( + // optional bool fixed64_even_edition_2023 = 1162; + E_Fixed64EvenEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[9] +) + +// Extension fields to validate.SFixed32Rules. +var ( + // optional bool sfixed32_even_edition_2023 = 1162; + E_Sfixed32EvenEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[10] +) + +// Extension fields to validate.SFixed64Rules. +var ( + // optional bool sfixed64_even_edition_2023 = 1162; + E_Sfixed64EvenEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[11] +) + +// Extension fields to validate.BoolRules. +var ( + // optional bool bool_false_edition_2023 = 1162; + E_BoolFalseEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[12] +) + +// Extension fields to validate.StringRules. +var ( + // optional bool string_valid_path_edition_2023 = 1162; + E_StringValidPathEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[13] +) + +// Extension fields to validate.BytesRules. +var ( + // optional bool bytes_valid_path_edition_2023 = 1162; + E_BytesValidPathEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[14] +) + +// Extension fields to validate.EnumRules. +var ( + // optional bool enum_non_zero_edition_2023 = 1162; + E_EnumNonZeroEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[15] +) + +// Extension fields to validate.RepeatedRules. +var ( + // optional bool repeated_at_least_five_edition_2023 = 1162; + E_RepeatedAtLeastFiveEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[16] +) + +// Extension fields to validate.MapRules. +var ( + // optional bool map_at_least_five_edition_2023 = 1162; + E_MapAtLeastFiveEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[17] +) + +// Extension fields to validate.DurationRules. +var ( + // optional bool duration_too_long_edition_2023 = 1162; + E_DurationTooLongEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[18] +) + +// Extension fields to validate.TimestampRules. +var ( + // optional bool timestamp_in_range_edition_2023 = 1162; + E_TimestampInRangeEdition_2023 = &file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes[19] +) + +var File_buf_validate_conformance_cases_predefined_rules_proto_editions_proto protoreflect.FileDescriptor + +var file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDesc = []byte{ + 0x0a, 0x44, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, + 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, + 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, + 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 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, 0x3f, 0x0a, 0x1e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x0a, 0x06, 0xd5, 0x48, 0x00, 0x00, 0x80, 0x3f, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x44, 0x0a, 0x1f, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x12, 0x0a, 0xd1, 0x48, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3c, 0x0a, 0x1e, 0x50, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, + 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x08, 0xba, 0x48, 0x05, 0x1a, + 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3c, 0x0a, 0x1e, 0x50, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, + 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x08, 0xba, 0x48, 0x05, 0x22, 0x03, 0xd0, + 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3d, 0x0a, 0x1f, 0x50, 0x72, 0x65, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x45, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xba, 0x48, 0x05, 0x2a, 0x03, 0xd0, 0x48, + 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3d, 0x0a, 0x1f, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x08, 0xba, 0x48, 0x05, 0x32, 0x03, 0xd0, 0x48, 0x01, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3d, 0x0a, 0x1f, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x08, 0xba, 0x48, 0x05, 0x3a, 0x03, 0xd0, 0x48, 0x01, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3d, 0x0a, 0x1f, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x12, 0x42, 0x08, 0xba, 0x48, 0x05, 0x42, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x3e, 0x0a, 0x20, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x07, 0x42, 0x08, 0xba, 0x48, 0x05, 0x4a, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x3e, 0x0a, 0x20, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x06, 0x42, 0x08, 0xba, 0x48, 0x05, 0x52, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x3f, 0x0a, 0x21, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x08, 0xba, 0x48, 0x05, 0x5a, 0x03, 0xd0, 0x48, 0x01, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3f, 0x0a, 0x21, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x08, 0xba, 0x48, 0x05, 0x62, 0x03, 0xd0, 0x48, 0x01, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3b, 0x0a, 0x1d, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x08, 0xba, 0x48, 0x05, 0x6a, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x3d, 0x0a, 0x1f, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x3c, 0x0a, 0x1e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, + 0x30, 0x32, 0x33, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x42, 0x08, 0xba, 0x48, 0x05, 0x7a, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0xdf, 0x01, 0x0a, 0x1d, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x45, 0x6e, + 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, + 0x33, 0x12, 0x6a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4d, + 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, + 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, + 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x2e, 0x45, 0x6e, + 0x75, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x42, 0x09, 0xba, + 0x48, 0x06, 0x82, 0x01, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x52, 0x0a, + 0x0f, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, + 0x12, 0x25, 0x0a, 0x21, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, + 0x32, 0x30, 0x32, 0x33, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x4e, 0x55, 0x4d, 0x5f, + 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x32, 0x30, 0x32, 0x33, 0x5f, 0x4f, 0x4e, 0x45, 0x10, + 0x01, 0x22, 0x40, 0x0a, 0x21, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x52, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x04, 0x42, 0x09, 0xba, 0x48, 0x06, 0x92, 0x01, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0xba, 0x01, 0x0a, 0x1c, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x32, 0x30, 0x32, 0x33, 0x12, 0x62, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x45, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, + 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4d, 0x61, 0x70, + 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x2e, + 0x56, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xba, 0x48, 0x06, 0x9a, 0x01, 0x03, + 0xd0, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x36, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x5b, 0x0a, 0x21, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x36, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 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, 0x42, 0x09, 0xba, + 0x48, 0x06, 0xaa, 0x01, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x5d, 0x0a, + 0x22, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, + 0x30, 0x32, 0x33, 0x12, 0x37, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x09, 0xba, 0x48, + 0x06, 0xb2, 0x01, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0xda, 0x03, 0x0a, + 0x22, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, + 0x30, 0x32, 0x33, 0x12, 0x77, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x69, + 0xba, 0x48, 0x66, 0xba, 0x01, 0x5e, 0x0a, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x1a, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x32, + 0x34, 0x20, 0x3f, 0x20, 0x27, 0x27, 0x20, 0x3a, 0x20, 0x27, 0x61, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, + 0x20, 0x32, 0x34, 0x27, 0x1a, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x01, 0x61, 0x12, 0xbf, 0x01, 0x0a, + 0x01, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x75, 0x6c, + 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x2e, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x42, 0x66, 0xba, 0x48, 0x63, 0xba, 0x01, 0x60, 0x0a, 0x30, 0x70, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, + 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1b, 0x62, + 0x2e, 0x63, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x33, 0x1a, 0x0f, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x63, 0x20, 0x25, 0x20, 0x33, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, 0x01, 0x62, 0x1a, 0x79, + 0x0a, 0x06, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x6f, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x61, 0xba, 0x48, 0x5e, 0xba, 0x01, 0x56, 0x0a, 0x2e, 0x70, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x1a, 0x24, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x3f, 0x20, 0x27, 0x27, 0x20, 0x3a, 0x20, 0x27, 0x63, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, + 0x27, 0x1a, 0x03, 0xd0, 0x48, 0x01, 0x52, 0x01, 0x63, 0x22, 0xb1, 0x01, 0x0a, 0x2a, 0x53, 0x74, + 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x41, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x12, 0x82, 0x01, 0x0a, 0x01, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x74, 0xba, 0x48, 0x71, 0xba, 0x01, 0x67, 0x0a, 0x37, 0x73, 0x74, + 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x32, 0x30, 0x32, 0x33, 0x1a, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x32, 0x34, + 0x20, 0x3f, 0x20, 0x27, 0x27, 0x20, 0x3a, 0x20, 0x27, 0x61, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, + 0x32, 0x34, 0x27, 0x1a, 0x05, 0xd0, 0x48, 0x01, 0x10, 0x1c, 0x52, 0x01, 0x61, 0x3a, 0xba, 0x01, + 0x0a, 0x1c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x61, 0x62, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x18, + 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x6c, + 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, 0x02, 0x42, + 0x5f, 0xc2, 0x48, 0x5c, 0x0a, 0x5a, 0x0a, 0x1c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x61, 0x62, + 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x30, 0x32, 0x33, 0x12, 0x1b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x1a, 0x1d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x2d, 0x72, 0x75, 0x6c, 0x65, + 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x52, 0x18, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x41, 0x62, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x45, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x3a, 0xbf, 0x01, 0x0a, 0x1d, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x62, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x19, 0x2e, 0x62, + 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, 0x01, 0x42, 0x61, + 0xc2, 0x48, 0x5e, 0x0a, 0x5c, 0x0a, 0x1d, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x61, 0x62, + 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x30, 0x32, 0x33, 0x12, 0x1c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x1a, 0x1d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x2d, 0x72, 0x75, 0x6c, + 0x65, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x52, 0x19, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x41, 0x62, 0x73, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x3a, 0x98, 0x01, 0x0a, + 0x17, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x46, 0xc2, 0x48, 0x43, 0x0a, 0x41, + 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x65, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x17, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, + 0x65, 0x6e, 0x1a, 0x0d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, 0x20, 0x3d, 0x3d, 0x20, + 0x30, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x45, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x3a, 0x98, 0x01, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, + 0x30, 0x32, 0x33, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x46, 0xc2, 0x48, 0x43, 0x0a, 0x41, 0x0a, 0x17, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x30, 0x32, 0x33, 0x12, 0x17, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0d, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, 0x14, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x45, 0x76, 0x65, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, + 0x32, 0x33, 0x3a, 0x9f, 0x01, 0x0a, 0x18, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, + 0x19, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x4a, 0xc2, 0x48, 0x47, 0x0a, 0x45, 0x0a, 0x18, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, + 0x32, 0x33, 0x12, 0x18, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0f, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, 0x75, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x52, 0x15, 0x75, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x32, 0x30, 0x32, 0x33, 0x3a, 0x9f, 0x01, 0x0a, 0x18, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, + 0x33, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x4a, 0xc2, 0x48, 0x47, 0x0a, 0x45, 0x0a, 0x18, 0x75, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x30, 0x32, 0x33, 0x12, 0x18, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0f, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, 0x75, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x52, + 0x15, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x76, 0x65, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x3a, 0x9d, 0x01, 0x0a, 0x18, 0x73, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, + 0x30, 0x32, 0x33, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, + 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x48, 0xc2, 0x48, 0x45, 0x0a, 0x43, 0x0a, 0x18, 0x73, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x18, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, + 0x1a, 0x0d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, + 0x15, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x3a, 0x9d, 0x01, 0x0a, 0x18, 0x73, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, + 0x30, 0x32, 0x33, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, + 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x48, 0xc2, 0x48, 0x45, 0x0a, 0x43, 0x0a, 0x18, 0x73, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x18, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, + 0x1a, 0x0d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, + 0x15, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x76, 0x65, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x3a, 0xa4, 0x01, 0x0a, 0x19, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x4c, 0xc2, 0x48, 0x49, 0x0a, 0x47, 0x0a, 0x19, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x65, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x19, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0f, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, 0x75, 0x20, + 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x52, 0x16, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x76, + 0x65, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x3a, 0xa4, 0x01, + 0x0a, 0x19, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x65, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x2e, 0x62, 0x75, + 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x4c, + 0xc2, 0x48, 0x49, 0x0a, 0x47, 0x0a, 0x19, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x65, + 0x76, 0x65, 0x6e, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, + 0x12, 0x19, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0f, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x25, 0x20, 0x32, 0x75, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x52, 0x16, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x76, 0x65, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x32, 0x30, 0x32, 0x33, 0x3a, 0xa7, 0x01, 0x0a, 0x1a, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, + 0x30, 0x32, 0x33, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x4c, 0xc2, 0x48, 0x49, 0x0a, 0x47, 0x0a, 0x1a, + 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x65, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x73, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x1a, 0x0d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, + 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, 0x17, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, + 0x76, 0x65, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x3a, 0xa7, + 0x01, 0x0a, 0x1a, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1b, 0x2e, + 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x4c, 0xc2, 0x48, 0x49, 0x0a, 0x47, 0x0a, 0x1a, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, + 0x1a, 0x0d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x25, 0x20, 0x32, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x52, + 0x17, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x76, 0x65, 0x6e, 0x45, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x3a, 0x97, 0x01, 0x0a, 0x17, 0x62, 0x6f, 0x6f, + 0x6c, 0x5f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x30, 0x32, 0x33, 0x12, 0x17, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x46, 0xc2, 0x48, 0x43, 0x0a, 0x41, 0x0a, 0x17, 0x62, 0x6f, 0x6f, + 0x6c, 0x2e, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x30, 0x32, 0x33, 0x12, 0x17, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x1a, 0x0d, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x14, 0x62, 0x6f, + 0x6f, 0x6c, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, + 0x32, 0x33, 0x3a, 0x8f, 0x02, 0x0a, 0x1e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0xae, 0x01, 0xc2, 0x48, 0xaa, 0x01, 0x0a, 0xa7, + 0x01, 0x0a, 0x1e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, + 0x33, 0x1a, 0x84, 0x01, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x28, 0x27, 0x5e, 0x28, 0x5b, 0x5e, 0x2f, 0x2e, 0x5d, 0x5b, 0x5e, 0x2f, 0x5d, 0x3f, 0x7c, + 0x5b, 0x5e, 0x2f, 0x5d, 0x5b, 0x5e, 0x2f, 0x2e, 0x5d, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x7b, 0x33, + 0x2c, 0x7d, 0x29, 0x28, 0x2f, 0x28, 0x5b, 0x5e, 0x2f, 0x2e, 0x5d, 0x5b, 0x5e, 0x2f, 0x5d, 0x3f, + 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x5b, 0x5e, 0x2f, 0x2e, 0x5d, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x7b, + 0x33, 0x2c, 0x7d, 0x29, 0x29, 0x2a, 0x24, 0x27, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x6e, 0x6f, 0x74, + 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x61, 0x74, 0x68, 0x3a, 0x20, 0x60, + 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x74, 0x68, 0x69, + 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x1a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x74, 0x68, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x32, 0x30, 0x32, 0x33, 0x3a, 0x93, 0x02, 0x0a, 0x1d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0xb5, 0x01, 0xc2, 0x48, 0xb1, 0x01, 0x0a, 0xae, + 0x01, 0x0a, 0x1d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, + 0x1a, 0x8c, 0x01, 0x21, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, + 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, 0x28, 0x5b, 0x5e, 0x2f, 0x2e, + 0x5d, 0x5b, 0x5e, 0x2f, 0x5d, 0x3f, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x5b, 0x5e, 0x2f, 0x2e, 0x5d, + 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x7b, 0x33, 0x2c, 0x7d, 0x29, 0x28, 0x2f, 0x28, 0x5b, 0x5e, 0x2f, + 0x2e, 0x5d, 0x5b, 0x5e, 0x2f, 0x5d, 0x3f, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x5b, 0x5e, 0x2f, 0x2e, + 0x5d, 0x7c, 0x5b, 0x5e, 0x2f, 0x5d, 0x7b, 0x33, 0x2c, 0x7d, 0x29, 0x29, 0x2a, 0x24, 0x27, 0x29, + 0x20, 0x3f, 0x20, 0x27, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, + 0x70, 0x61, 0x74, 0x68, 0x3a, 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, + 0x19, 0x62, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x74, 0x68, 0x45, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x3a, 0xa3, 0x01, 0x0a, 0x1a, 0x65, + 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x65, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x17, 0x2e, 0x62, 0x75, 0x66, 0x2e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x4d, 0xc2, 0x48, 0x4a, 0x0a, 0x48, + 0x0a, 0x1a, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x6e, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x2e, + 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1a, 0x65, 0x6e, + 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x6e, 0x6f, 0x6e, 0x2d, 0x7a, 0x65, 0x72, 0x6f, 0x1a, 0x0e, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x52, 0x16, 0x65, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, + 0x6e, 0x5a, 0x65, 0x72, 0x6f, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, + 0x3a, 0xdd, 0x01, 0x0a, 0x23, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x72, 0xc2, 0x48, + 0x6f, 0x0a, 0x6d, 0x0a, 0x23, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x61, 0x74, + 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x76, 0x65, 0x2e, 0x65, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, + 0x76, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x66, 0x69, 0x76, 0x65, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x17, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3e, 0x3d, 0x20, 0x35, 0x75, + 0x52, 0x1e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4c, 0x65, 0x61, 0x73, + 0x74, 0x46, 0x69, 0x76, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, + 0x3a, 0xbd, 0x01, 0x0a, 0x1e, 0x6d, 0x61, 0x70, 0x5f, 0x61, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, + 0x74, 0x5f, 0x66, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, + 0x30, 0x32, 0x33, 0x12, 0x16, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x8a, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x61, 0xc2, 0x48, 0x5e, 0x0a, 0x5c, 0x0a, 0x1e, 0x6d, 0x61, 0x70, 0x2e, 0x61, + 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x76, 0x65, 0x2e, 0x65, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x21, 0x6d, 0x61, 0x70, 0x20, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, + 0x74, 0x20, 0x66, 0x69, 0x76, 0x65, 0x20, 0x70, 0x61, 0x69, 0x72, 0x73, 0x1a, 0x17, 0x75, 0x69, + 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, + 0x3e, 0x3d, 0x20, 0x35, 0x75, 0x52, 0x19, 0x6d, 0x61, 0x70, 0x41, 0x74, 0x4c, 0x65, 0x61, 0x73, + 0x74, 0x46, 0x69, 0x76, 0x65, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, + 0x3a, 0xca, 0x01, 0x0a, 0x1e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, + 0x6f, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, + 0x30, 0x32, 0x33, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x8a, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x68, 0xc2, 0x48, 0x65, 0x0a, 0x63, 0x0a, 0x1e, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x74, 0x6f, 0x6f, 0x5f, 0x6c, 0x6f, 0x6e, + 0x67, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x12, 0x28, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x61, 0x6e, 0x27, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, + 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x17, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, + 0x3d, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x27, 0x31, 0x30, 0x73, 0x27, + 0x29, 0x52, 0x1a, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6f, 0x4c, 0x6f, + 0x6e, 0x67, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x3a, 0xd9, 0x01, + 0x0a, 0x1f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, + 0x33, 0x12, 0x1c, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, + 0x8a, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x74, 0xc2, 0x48, 0x71, 0x0a, 0x6f, 0x0a, 0x21, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x32, 0x33, + 0x12, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6f, 0x75, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x32, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x29, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x30, 0x34, 0x39, 0x35, 0x38, 0x37, 0x32, 0x30, + 0x30, 0x20, 0x26, 0x26, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x20, 0x3c, + 0x3d, 0x20, 0x31, 0x30, 0x38, 0x30, 0x34, 0x33, 0x32, 0x30, 0x30, 0x30, 0x52, 0x1b, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x30, 0x32, 0x33, 0x42, 0xb8, 0x02, 0x0a, 0x22, 0x63, 0x6f, + 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, + 0x42, 0x21, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, + 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, + 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, + 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, + 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, + 0x61, 0x73, 0x65, 0x73, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, + 0x07, +} + +var ( + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescOnce sync.Once + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescData = file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDesc +) + +func file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescGZIP() []byte { + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescOnce.Do(func() { + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescData = protoimpl.X.CompressGZIP(file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescData) + }) + return file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDescData +} + +var file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_goTypes = []any{ + (PredefinedEnumRuleEdition2023_EnumEdition2023)(0), // 0: buf.validate.conformance.cases.PredefinedEnumRuleEdition2023.EnumEdition2023 + (*PredefinedFloatRuleEdition2023)(nil), // 1: buf.validate.conformance.cases.PredefinedFloatRuleEdition2023 + (*PredefinedDoubleRuleEdition2023)(nil), // 2: buf.validate.conformance.cases.PredefinedDoubleRuleEdition2023 + (*PredefinedInt32RuleEdition2023)(nil), // 3: buf.validate.conformance.cases.PredefinedInt32RuleEdition2023 + (*PredefinedInt64RuleEdition2023)(nil), // 4: buf.validate.conformance.cases.PredefinedInt64RuleEdition2023 + (*PredefinedUInt32RuleEdition2023)(nil), // 5: buf.validate.conformance.cases.PredefinedUInt32RuleEdition2023 + (*PredefinedUInt64RuleEdition2023)(nil), // 6: buf.validate.conformance.cases.PredefinedUInt64RuleEdition2023 + (*PredefinedSInt32RuleEdition2023)(nil), // 7: buf.validate.conformance.cases.PredefinedSInt32RuleEdition2023 + (*PredefinedSInt64RuleEdition2023)(nil), // 8: buf.validate.conformance.cases.PredefinedSInt64RuleEdition2023 + (*PredefinedFixed32RuleEdition2023)(nil), // 9: buf.validate.conformance.cases.PredefinedFixed32RuleEdition2023 + (*PredefinedFixed64RuleEdition2023)(nil), // 10: buf.validate.conformance.cases.PredefinedFixed64RuleEdition2023 + (*PredefinedSFixed32RuleEdition2023)(nil), // 11: buf.validate.conformance.cases.PredefinedSFixed32RuleEdition2023 + (*PredefinedSFixed64RuleEdition2023)(nil), // 12: buf.validate.conformance.cases.PredefinedSFixed64RuleEdition2023 + (*PredefinedBoolRuleEdition2023)(nil), // 13: buf.validate.conformance.cases.PredefinedBoolRuleEdition2023 + (*PredefinedStringRuleEdition2023)(nil), // 14: buf.validate.conformance.cases.PredefinedStringRuleEdition2023 + (*PredefinedBytesRuleEdition2023)(nil), // 15: buf.validate.conformance.cases.PredefinedBytesRuleEdition2023 + (*PredefinedEnumRuleEdition2023)(nil), // 16: buf.validate.conformance.cases.PredefinedEnumRuleEdition2023 + (*PredefinedRepeatedRuleEdition2023)(nil), // 17: buf.validate.conformance.cases.PredefinedRepeatedRuleEdition2023 + (*PredefinedMapRuleEdition2023)(nil), // 18: buf.validate.conformance.cases.PredefinedMapRuleEdition2023 + (*PredefinedDurationRuleEdition2023)(nil), // 19: buf.validate.conformance.cases.PredefinedDurationRuleEdition2023 + (*PredefinedTimestampRuleEdition2023)(nil), // 20: buf.validate.conformance.cases.PredefinedTimestampRuleEdition2023 + (*PredefinedAndCustomRuleEdition2023)(nil), // 21: buf.validate.conformance.cases.PredefinedAndCustomRuleEdition2023 + (*StandardPredefinedAndCustomRuleEdition2023)(nil), // 22: buf.validate.conformance.cases.StandardPredefinedAndCustomRuleEdition2023 + nil, // 23: buf.validate.conformance.cases.PredefinedMapRuleEdition2023.ValEntry + (*PredefinedAndCustomRuleEdition2023_Nested)(nil), // 24: buf.validate.conformance.cases.PredefinedAndCustomRuleEdition2023.Nested + (*durationpb.Duration)(nil), // 25: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp + (*validate.FloatRules)(nil), // 27: buf.validate.FloatRules + (*validate.DoubleRules)(nil), // 28: buf.validate.DoubleRules + (*validate.Int32Rules)(nil), // 29: buf.validate.Int32Rules + (*validate.Int64Rules)(nil), // 30: buf.validate.Int64Rules + (*validate.UInt32Rules)(nil), // 31: buf.validate.UInt32Rules + (*validate.UInt64Rules)(nil), // 32: buf.validate.UInt64Rules + (*validate.SInt32Rules)(nil), // 33: buf.validate.SInt32Rules + (*validate.SInt64Rules)(nil), // 34: buf.validate.SInt64Rules + (*validate.Fixed32Rules)(nil), // 35: buf.validate.Fixed32Rules + (*validate.Fixed64Rules)(nil), // 36: buf.validate.Fixed64Rules + (*validate.SFixed32Rules)(nil), // 37: buf.validate.SFixed32Rules + (*validate.SFixed64Rules)(nil), // 38: buf.validate.SFixed64Rules + (*validate.BoolRules)(nil), // 39: buf.validate.BoolRules + (*validate.StringRules)(nil), // 40: buf.validate.StringRules + (*validate.BytesRules)(nil), // 41: buf.validate.BytesRules + (*validate.EnumRules)(nil), // 42: buf.validate.EnumRules + (*validate.RepeatedRules)(nil), // 43: buf.validate.RepeatedRules + (*validate.MapRules)(nil), // 44: buf.validate.MapRules + (*validate.DurationRules)(nil), // 45: buf.validate.DurationRules + (*validate.TimestampRules)(nil), // 46: buf.validate.TimestampRules +} +var file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_depIdxs = []int32{ + 0, // 0: buf.validate.conformance.cases.PredefinedEnumRuleEdition2023.val:type_name -> buf.validate.conformance.cases.PredefinedEnumRuleEdition2023.EnumEdition2023 + 23, // 1: buf.validate.conformance.cases.PredefinedMapRuleEdition2023.val:type_name -> buf.validate.conformance.cases.PredefinedMapRuleEdition2023.ValEntry + 25, // 2: buf.validate.conformance.cases.PredefinedDurationRuleEdition2023.val:type_name -> google.protobuf.Duration + 26, // 3: buf.validate.conformance.cases.PredefinedTimestampRuleEdition2023.val:type_name -> google.protobuf.Timestamp + 24, // 4: buf.validate.conformance.cases.PredefinedAndCustomRuleEdition2023.b:type_name -> buf.validate.conformance.cases.PredefinedAndCustomRuleEdition2023.Nested + 27, // 5: buf.validate.conformance.cases.float_abs_range_edition_2023:extendee -> buf.validate.FloatRules + 28, // 6: buf.validate.conformance.cases.double_abs_range_edition_2023:extendee -> buf.validate.DoubleRules + 29, // 7: buf.validate.conformance.cases.int32_even_edition_2023:extendee -> buf.validate.Int32Rules + 30, // 8: buf.validate.conformance.cases.int64_even_edition_2023:extendee -> buf.validate.Int64Rules + 31, // 9: buf.validate.conformance.cases.uint32_even_edition_2023:extendee -> buf.validate.UInt32Rules + 32, // 10: buf.validate.conformance.cases.uint64_even_edition_2023:extendee -> buf.validate.UInt64Rules + 33, // 11: buf.validate.conformance.cases.sint32_even_edition_2023:extendee -> buf.validate.SInt32Rules + 34, // 12: buf.validate.conformance.cases.sint64_even_edition_2023:extendee -> buf.validate.SInt64Rules + 35, // 13: buf.validate.conformance.cases.fixed32_even_edition_2023:extendee -> buf.validate.Fixed32Rules + 36, // 14: buf.validate.conformance.cases.fixed64_even_edition_2023:extendee -> buf.validate.Fixed64Rules + 37, // 15: buf.validate.conformance.cases.sfixed32_even_edition_2023:extendee -> buf.validate.SFixed32Rules + 38, // 16: buf.validate.conformance.cases.sfixed64_even_edition_2023:extendee -> buf.validate.SFixed64Rules + 39, // 17: buf.validate.conformance.cases.bool_false_edition_2023:extendee -> buf.validate.BoolRules + 40, // 18: buf.validate.conformance.cases.string_valid_path_edition_2023:extendee -> buf.validate.StringRules + 41, // 19: buf.validate.conformance.cases.bytes_valid_path_edition_2023:extendee -> buf.validate.BytesRules + 42, // 20: buf.validate.conformance.cases.enum_non_zero_edition_2023:extendee -> buf.validate.EnumRules + 43, // 21: buf.validate.conformance.cases.repeated_at_least_five_edition_2023:extendee -> buf.validate.RepeatedRules + 44, // 22: buf.validate.conformance.cases.map_at_least_five_edition_2023:extendee -> buf.validate.MapRules + 45, // 23: buf.validate.conformance.cases.duration_too_long_edition_2023:extendee -> buf.validate.DurationRules + 46, // 24: buf.validate.conformance.cases.timestamp_in_range_edition_2023:extendee -> buf.validate.TimestampRules + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 5, // [5:25] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_init() } +func file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_init() { + if File_buf_validate_conformance_cases_predefined_rules_proto_editions_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedFloatRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedDoubleRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedInt32RuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedInt64RuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedUInt32RuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedUInt64RuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSInt32RuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[7].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSInt64RuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedFixed32RuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedFixed64RuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSFixed32RuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[11].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedSFixed64RuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[12].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedBoolRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[13].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedStringRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[14].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedBytesRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[15].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedEnumRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[16].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedRepeatedRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[17].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedMapRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[18].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedDurationRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[19].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedTimestampRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[20].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedAndCustomRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[21].Exporter = func(v any, i int) any { + switch v := v.(*StandardPredefinedAndCustomRuleEdition2023); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes[23].Exporter = func(v any, i int) any { + switch v := v.(*PredefinedAndCustomRuleEdition2023_Nested); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDesc, + NumEnums: 1, + NumMessages: 24, + NumExtensions: 20, + NumServices: 0, + }, + GoTypes: file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_goTypes, + DependencyIndexes: file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_depIdxs, + EnumInfos: file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_enumTypes, + MessageInfos: file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_msgTypes, + ExtensionInfos: file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_extTypes, + }.Build() + File_buf_validate_conformance_cases_predefined_rules_proto_editions_proto = out.File + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_rawDesc = nil + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_goTypes = nil + file_buf_validate_conformance_cases_predefined_rules_proto_editions_proto_depIdxs = nil +} diff --git a/tools/internal/gen/buf/validate/conformance/cases/repeated.pb.go b/tools/internal/gen/buf/validate/conformance/cases/repeated.pb.go index 1de1fa2a..90a0c7a4 100644 --- a/tools/internal/gen/buf/validate/conformance/cases/repeated.pb.go +++ b/tools/internal/gen/buf/validate/conformance/cases/repeated.pb.go @@ -133,7 +133,7 @@ func (x RepeatedEmbeddedEnumIn_AnotherInEnum) Number() protoreflect.EnumNumber { // Deprecated: Use RepeatedEmbeddedEnumIn_AnotherInEnum.Descriptor instead. func (RepeatedEmbeddedEnumIn_AnotherInEnum) EnumDescriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{17, 0} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{18, 0} } type RepeatedEmbeddedEnumNotIn_AnotherNotInEnum int32 @@ -182,7 +182,7 @@ func (x RepeatedEmbeddedEnumNotIn_AnotherNotInEnum) Number() protoreflect.EnumNu // Deprecated: Use RepeatedEmbeddedEnumNotIn_AnotherNotInEnum.Descriptor instead. func (RepeatedEmbeddedEnumNotIn_AnotherNotInEnum) EnumDescriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{18, 0} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{19, 0} } type Embed struct { @@ -608,6 +608,53 @@ func (x *RepeatedUnique) GetVal() []string { return nil } +type RepeatedNotUnique struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val []string `protobuf:"bytes,1,rep,name=val,proto3" json:"val,omitempty"` +} + +func (x *RepeatedNotUnique) Reset() { + *x = RepeatedNotUnique{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RepeatedNotUnique) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepeatedNotUnique) ProtoMessage() {} + +func (x *RepeatedNotUnique) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_repeated_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 RepeatedNotUnique.ProtoReflect.Descriptor instead. +func (*RepeatedNotUnique) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{9} +} + +func (x *RepeatedNotUnique) GetVal() []string { + if x != nil { + return x.Val + } + return nil +} + type RepeatedMultipleUnique struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -620,7 +667,7 @@ type RepeatedMultipleUnique struct { func (x *RepeatedMultipleUnique) Reset() { *x = RepeatedMultipleUnique{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[9] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -633,7 +680,7 @@ func (x *RepeatedMultipleUnique) String() string { func (*RepeatedMultipleUnique) ProtoMessage() {} func (x *RepeatedMultipleUnique) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[9] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -646,7 +693,7 @@ func (x *RepeatedMultipleUnique) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedMultipleUnique.ProtoReflect.Descriptor instead. func (*RepeatedMultipleUnique) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{9} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{10} } func (x *RepeatedMultipleUnique) GetA() []string { @@ -674,7 +721,7 @@ type RepeatedItemRule struct { func (x *RepeatedItemRule) Reset() { *x = RepeatedItemRule{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[10] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -687,7 +734,7 @@ func (x *RepeatedItemRule) String() string { func (*RepeatedItemRule) ProtoMessage() {} func (x *RepeatedItemRule) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[10] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -700,7 +747,7 @@ func (x *RepeatedItemRule) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedItemRule.ProtoReflect.Descriptor instead. func (*RepeatedItemRule) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{10} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{11} } func (x *RepeatedItemRule) GetVal() []float32 { @@ -721,7 +768,7 @@ type RepeatedItemPattern struct { func (x *RepeatedItemPattern) Reset() { *x = RepeatedItemPattern{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[11] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -734,7 +781,7 @@ func (x *RepeatedItemPattern) String() string { func (*RepeatedItemPattern) ProtoMessage() {} func (x *RepeatedItemPattern) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[11] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -747,7 +794,7 @@ func (x *RepeatedItemPattern) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedItemPattern.ProtoReflect.Descriptor instead. func (*RepeatedItemPattern) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{11} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{12} } func (x *RepeatedItemPattern) GetVal() []string { @@ -768,7 +815,7 @@ type RepeatedEmbedSkip struct { func (x *RepeatedEmbedSkip) Reset() { *x = RepeatedEmbedSkip{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[12] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -781,7 +828,7 @@ func (x *RepeatedEmbedSkip) String() string { func (*RepeatedEmbedSkip) ProtoMessage() {} func (x *RepeatedEmbedSkip) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[12] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -794,7 +841,7 @@ func (x *RepeatedEmbedSkip) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedEmbedSkip.ProtoReflect.Descriptor instead. func (*RepeatedEmbedSkip) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{12} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{13} } func (x *RepeatedEmbedSkip) GetVal() []*Embed { @@ -815,7 +862,7 @@ type RepeatedItemIn struct { func (x *RepeatedItemIn) Reset() { *x = RepeatedItemIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[13] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -828,7 +875,7 @@ func (x *RepeatedItemIn) String() string { func (*RepeatedItemIn) ProtoMessage() {} func (x *RepeatedItemIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[13] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -841,7 +888,7 @@ func (x *RepeatedItemIn) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedItemIn.ProtoReflect.Descriptor instead. func (*RepeatedItemIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{13} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{14} } func (x *RepeatedItemIn) GetVal() []string { @@ -862,7 +909,7 @@ type RepeatedItemNotIn struct { func (x *RepeatedItemNotIn) Reset() { *x = RepeatedItemNotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[14] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -875,7 +922,7 @@ func (x *RepeatedItemNotIn) String() string { func (*RepeatedItemNotIn) ProtoMessage() {} func (x *RepeatedItemNotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[14] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -888,7 +935,7 @@ func (x *RepeatedItemNotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedItemNotIn.ProtoReflect.Descriptor instead. func (*RepeatedItemNotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{14} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{15} } func (x *RepeatedItemNotIn) GetVal() []string { @@ -909,7 +956,7 @@ type RepeatedEnumIn struct { func (x *RepeatedEnumIn) Reset() { *x = RepeatedEnumIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[15] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -922,7 +969,7 @@ func (x *RepeatedEnumIn) String() string { func (*RepeatedEnumIn) ProtoMessage() {} func (x *RepeatedEnumIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[15] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -935,7 +982,7 @@ func (x *RepeatedEnumIn) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedEnumIn.ProtoReflect.Descriptor instead. func (*RepeatedEnumIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{15} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{16} } func (x *RepeatedEnumIn) GetVal() []AnEnum { @@ -956,7 +1003,7 @@ type RepeatedEnumNotIn struct { func (x *RepeatedEnumNotIn) Reset() { *x = RepeatedEnumNotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[16] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -969,7 +1016,7 @@ func (x *RepeatedEnumNotIn) String() string { func (*RepeatedEnumNotIn) ProtoMessage() {} func (x *RepeatedEnumNotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[16] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -982,7 +1029,7 @@ func (x *RepeatedEnumNotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedEnumNotIn.ProtoReflect.Descriptor instead. func (*RepeatedEnumNotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{16} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{17} } func (x *RepeatedEnumNotIn) GetVal() []AnEnum { @@ -1003,7 +1050,7 @@ type RepeatedEmbeddedEnumIn struct { func (x *RepeatedEmbeddedEnumIn) Reset() { *x = RepeatedEmbeddedEnumIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[17] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1016,7 +1063,7 @@ func (x *RepeatedEmbeddedEnumIn) String() string { func (*RepeatedEmbeddedEnumIn) ProtoMessage() {} func (x *RepeatedEmbeddedEnumIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[17] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1029,7 +1076,7 @@ func (x *RepeatedEmbeddedEnumIn) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedEmbeddedEnumIn.ProtoReflect.Descriptor instead. func (*RepeatedEmbeddedEnumIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{17} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{18} } func (x *RepeatedEmbeddedEnumIn) GetVal() []RepeatedEmbeddedEnumIn_AnotherInEnum { @@ -1050,7 +1097,7 @@ type RepeatedEmbeddedEnumNotIn struct { func (x *RepeatedEmbeddedEnumNotIn) Reset() { *x = RepeatedEmbeddedEnumNotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[18] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1063,7 +1110,7 @@ func (x *RepeatedEmbeddedEnumNotIn) String() string { func (*RepeatedEmbeddedEnumNotIn) ProtoMessage() {} func (x *RepeatedEmbeddedEnumNotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[18] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1076,7 +1123,7 @@ func (x *RepeatedEmbeddedEnumNotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedEmbeddedEnumNotIn.ProtoReflect.Descriptor instead. func (*RepeatedEmbeddedEnumNotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{18} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{19} } func (x *RepeatedEmbeddedEnumNotIn) GetVal() []RepeatedEmbeddedEnumNotIn_AnotherNotInEnum { @@ -1097,7 +1144,7 @@ type RepeatedAnyIn struct { func (x *RepeatedAnyIn) Reset() { *x = RepeatedAnyIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[19] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1110,7 +1157,7 @@ func (x *RepeatedAnyIn) String() string { func (*RepeatedAnyIn) ProtoMessage() {} func (x *RepeatedAnyIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[19] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1123,7 +1170,7 @@ func (x *RepeatedAnyIn) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedAnyIn.ProtoReflect.Descriptor instead. func (*RepeatedAnyIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{19} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{20} } func (x *RepeatedAnyIn) GetVal() []*anypb.Any { @@ -1144,7 +1191,7 @@ type RepeatedAnyNotIn struct { func (x *RepeatedAnyNotIn) Reset() { *x = RepeatedAnyNotIn{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[20] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1157,7 +1204,7 @@ func (x *RepeatedAnyNotIn) String() string { func (*RepeatedAnyNotIn) ProtoMessage() {} func (x *RepeatedAnyNotIn) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[20] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1170,7 +1217,7 @@ func (x *RepeatedAnyNotIn) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedAnyNotIn.ProtoReflect.Descriptor instead. func (*RepeatedAnyNotIn) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{20} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{21} } func (x *RepeatedAnyNotIn) GetVal() []*anypb.Any { @@ -1191,7 +1238,7 @@ type RepeatedMinAndItemLen struct { func (x *RepeatedMinAndItemLen) Reset() { *x = RepeatedMinAndItemLen{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[21] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1204,7 +1251,7 @@ func (x *RepeatedMinAndItemLen) String() string { func (*RepeatedMinAndItemLen) ProtoMessage() {} func (x *RepeatedMinAndItemLen) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[21] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1217,7 +1264,7 @@ func (x *RepeatedMinAndItemLen) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedMinAndItemLen.ProtoReflect.Descriptor instead. func (*RepeatedMinAndItemLen) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{21} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{22} } func (x *RepeatedMinAndItemLen) GetVal() []string { @@ -1238,7 +1285,7 @@ type RepeatedMinAndMaxItemLen struct { func (x *RepeatedMinAndMaxItemLen) Reset() { *x = RepeatedMinAndMaxItemLen{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[22] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1251,7 +1298,7 @@ func (x *RepeatedMinAndMaxItemLen) String() string { func (*RepeatedMinAndMaxItemLen) ProtoMessage() {} func (x *RepeatedMinAndMaxItemLen) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[22] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1264,7 +1311,7 @@ func (x *RepeatedMinAndMaxItemLen) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedMinAndMaxItemLen.ProtoReflect.Descriptor instead. func (*RepeatedMinAndMaxItemLen) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{22} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{23} } func (x *RepeatedMinAndMaxItemLen) GetVal() []string { @@ -1285,7 +1332,7 @@ type RepeatedDuration struct { func (x *RepeatedDuration) Reset() { *x = RepeatedDuration{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[23] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1298,7 +1345,7 @@ func (x *RepeatedDuration) String() string { func (*RepeatedDuration) ProtoMessage() {} func (x *RepeatedDuration) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[23] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1311,7 +1358,7 @@ func (x *RepeatedDuration) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedDuration.ProtoReflect.Descriptor instead. func (*RepeatedDuration) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{23} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{24} } func (x *RepeatedDuration) GetVal() []*durationpb.Duration { @@ -1332,7 +1379,7 @@ type RepeatedExactIgnore struct { func (x *RepeatedExactIgnore) Reset() { *x = RepeatedExactIgnore{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[24] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1345,7 +1392,7 @@ func (x *RepeatedExactIgnore) String() string { func (*RepeatedExactIgnore) ProtoMessage() {} func (x *RepeatedExactIgnore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[24] + mi := &file_buf_validate_conformance_cases_repeated_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1358,7 +1405,7 @@ func (x *RepeatedExactIgnore) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedExactIgnore.ProtoReflect.Descriptor instead. func (*RepeatedExactIgnore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{24} + return file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP(), []int{25} } func (x *RepeatedExactIgnore) GetVal() []uint32 { @@ -1417,128 +1464,131 @@ var file_buf_validate_conformance_cases_repeated_proto_rawDesc = []byte{ 0x08, 0x03, 0x10, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, - 0x18, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x48, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x55, 0x6e, 0x69, 0x71, 0x75, - 0x65, 0x12, 0x16, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, - 0x05, 0x92, 0x01, 0x02, 0x18, 0x01, 0x52, 0x01, 0x61, 0x12, 0x16, 0x0a, 0x01, 0x62, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x05, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x18, 0x01, 0x52, 0x01, - 0x62, 0x22, 0x35, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x02, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x92, 0x01, 0x09, 0x22, 0x07, 0x0a, 0x05, 0x25, 0x00, - 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x44, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, - 0x2d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x1b, 0xba, 0x48, - 0x18, 0x92, 0x01, 0x15, 0x22, 0x13, 0x72, 0x11, 0x32, 0x0f, 0x28, 0x3f, 0x69, 0x29, 0x5e, 0x5b, - 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x5d, 0x2b, 0x24, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x59, - 0x0a, 0x11, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x53, - 0x6b, 0x69, 0x70, 0x12, 0x44, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x18, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2f, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, + 0x02, 0x18, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x48, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x55, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x12, 0x16, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xba, + 0x48, 0x05, 0x92, 0x01, 0x02, 0x18, 0x01, 0x52, 0x01, 0x61, 0x12, 0x16, 0x0a, 0x01, 0x62, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x05, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x18, 0x01, 0x52, + 0x01, 0x62, 0x22, 0x35, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, + 0x65, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x02, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x92, 0x01, 0x09, 0x22, 0x07, 0x0a, 0x05, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x44, 0x0a, 0x13, 0x52, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x12, 0x2d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x1b, 0xba, + 0x48, 0x18, 0x92, 0x01, 0x15, 0x22, 0x13, 0x72, 0x11, 0x32, 0x0f, 0x28, 0x3f, 0x69, 0x29, 0x5e, + 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x5d, 0x2b, 0x24, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x59, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6d, 0x62, 0x65, 0x64, + 0x53, 0x6b, 0x69, 0x70, 0x12, 0x44, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, + 0x65, 0x73, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x92, 0x01, 0x05, + 0x22, 0x03, 0xd8, 0x01, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, 0x0e, 0x52, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x12, 0x26, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x14, 0xba, 0x48, 0x11, 0x92, 0x01, + 0x0e, 0x22, 0x0c, 0x72, 0x0a, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x52, 0x03, 0x62, 0x61, 0x72, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3b, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x26, 0x0a, 0x03, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x14, 0xba, 0x48, 0x11, 0x92, 0x01, 0x0e, 0x22, 0x0c, + 0x72, 0x0a, 0x5a, 0x03, 0x66, 0x6f, 0x6f, 0x5a, 0x03, 0x62, 0x61, 0x72, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x59, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, + 0x6d, 0x49, 0x6e, 0x12, 0x47, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, + 0x32, 0x26, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, - 0x73, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x92, 0x01, 0x05, 0x22, - 0x03, 0xd8, 0x01, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, 0x0e, 0x52, 0x65, 0x70, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x12, 0x26, 0x0a, 0x03, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x14, 0xba, 0x48, 0x11, 0x92, 0x01, 0x0e, - 0x22, 0x0c, 0x72, 0x0a, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x52, 0x03, 0x62, 0x61, 0x72, 0x52, 0x03, - 0x76, 0x61, 0x6c, 0x22, 0x3b, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, - 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x26, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x14, 0xba, 0x48, 0x11, 0x92, 0x01, 0x0e, 0x22, 0x0c, 0x72, - 0x0a, 0x5a, 0x03, 0x66, 0x6f, 0x6f, 0x5a, 0x03, 0x62, 0x61, 0x72, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x5a, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, - 0x49, 0x6e, 0x12, 0x48, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, - 0x26, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, - 0x2e, 0x41, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x92, 0x01, 0x08, 0x22, - 0x06, 0x82, 0x01, 0x03, 0x1a, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x5d, 0x0a, 0x11, + 0x73, 0x2e, 0x41, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x92, 0x01, 0x07, + 0x22, 0x05, 0x82, 0x01, 0x02, 0x18, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x5c, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x49, - 0x6e, 0x12, 0x48, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x26, + 0x6e, 0x12, 0x47, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, - 0x41, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x92, 0x01, 0x08, 0x22, 0x06, - 0x82, 0x01, 0x03, 0x22, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0xe0, 0x01, 0x0a, 0x16, - 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, - 0x45, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x12, 0x66, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, - 0x61, 0x73, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6d, 0x62, - 0x65, 0x64, 0x64, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x2e, 0x41, 0x6e, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x49, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x92, 0x01, - 0x08, 0x22, 0x06, 0x82, 0x01, 0x03, 0x1a, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x5e, - 0x0a, 0x0d, 0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, - 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x4e, + 0x41, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, + 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0xdf, 0x01, 0x0a, 0x16, 0x52, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x45, + 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x12, 0x65, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, + 0x73, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6d, 0x62, 0x65, + 0x64, 0x64, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x2e, 0x41, 0x6e, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x49, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x92, 0x01, 0x07, + 0x22, 0x05, 0x82, 0x01, 0x02, 0x18, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x5e, 0x0a, 0x0d, + 0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1f, 0x0a, + 0x1b, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x4e, 0x55, 0x4d, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, + 0x0a, 0x11, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x4e, 0x55, + 0x4d, 0x5f, 0x41, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, + 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x42, 0x10, 0x02, 0x22, 0xf7, 0x01, 0x0a, + 0x19, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, + 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x6b, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, + 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, + 0x49, 0x6e, 0x2e, 0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x45, + 0x6e, 0x75, 0x6d, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, + 0x20, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x6d, 0x0a, 0x10, 0x41, 0x6e, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x1f, 0x41, + 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x45, - 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4e, 0x4f, 0x54, 0x48, - 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x42, 0x10, 0x02, 0x22, 0xf8, - 0x01, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6d, 0x62, 0x65, 0x64, - 0x64, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x6c, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x4e, - 0x6f, 0x74, 0x49, 0x6e, 0x2e, 0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x49, - 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x0e, 0xba, 0x48, 0x0b, 0x92, 0x01, 0x08, 0x22, 0x06, 0x82, - 0x01, 0x03, 0x22, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x6d, 0x0a, 0x10, 0x41, 0x6e, - 0x6f, 0x74, 0x68, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, - 0x0a, 0x1f, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, - 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x4e, - 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x10, 0x01, 0x12, 0x19, - 0x0a, 0x15, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, - 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x42, 0x10, 0x02, 0x22, 0x72, 0x0a, 0x0d, 0x52, 0x65, 0x70, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x79, 0x49, 0x6e, 0x12, 0x61, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x39, 0xba, - 0x48, 0x36, 0x92, 0x01, 0x33, 0x22, 0x31, 0xa2, 0x01, 0x2e, 0x12, 0x2c, 0x74, 0x79, 0x70, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 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, 0x76, 0x61, 0x6c, 0x22, 0x76, 0x0a, - 0x10, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x79, 0x4e, 0x6f, 0x74, 0x49, - 0x6e, 0x12, 0x62, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x3a, 0xba, 0x48, 0x37, 0x92, 0x01, 0x34, 0x22, 0x32, 0xa2, 0x01, - 0x2f, 0x1a, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 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, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x4d, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x6e, 0x12, 0x21, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0f, 0xba, 0x48, 0x0c, - 0x92, 0x01, 0x09, 0x08, 0x01, 0x22, 0x05, 0x72, 0x03, 0x98, 0x01, 0x03, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x38, 0x0a, 0x18, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x69, 0x6e, - 0x41, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x6e, 0x12, 0x1c, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x92, - 0x01, 0x04, 0x08, 0x01, 0x10, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x52, 0x0a, 0x10, 0x52, - 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3e, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 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, 0x42, 0x11, 0xba, 0x48, 0x0e, 0x92, 0x01, 0x0b, 0x22, - 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x36, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x61, 0x63, 0x74, - 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0d, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0xd0, 0x01, 0x01, 0x92, 0x01, 0x04, 0x08, 0x03, - 0x10, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x2a, 0x3f, 0x0a, 0x06, 0x41, 0x6e, 0x45, 0x6e, 0x75, - 0x6d, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4e, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4e, - 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x58, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4e, 0x5f, - 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x59, 0x10, 0x02, 0x42, 0xa4, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, - 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, - 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, - 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, - 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, - 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, - 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, - 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x49, 0x4e, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x41, + 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x4e, + 0x55, 0x4d, 0x5f, 0x42, 0x10, 0x02, 0x22, 0x72, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x6e, 0x79, 0x49, 0x6e, 0x12, 0x61, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x39, 0xba, 0x48, 0x36, 0x92, + 0x01, 0x33, 0x22, 0x31, 0xa2, 0x01, 0x2e, 0x12, 0x2c, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 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, 0x76, 0x61, 0x6c, 0x22, 0x76, 0x0a, 0x10, 0x52, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x79, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x62, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x42, 0x3a, 0xba, 0x48, 0x37, 0x92, 0x01, 0x34, 0x22, 0x32, 0xa2, 0x01, 0x2f, 0x1a, 0x2d, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 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, 0x76, + 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x69, + 0x6e, 0x41, 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0f, 0xba, 0x48, 0x0c, 0x92, 0x01, 0x09, + 0x08, 0x01, 0x22, 0x05, 0x72, 0x03, 0x98, 0x01, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, + 0x0a, 0x18, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x69, 0x6e, 0x41, 0x6e, 0x64, + 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x92, 0x01, 0x04, 0x08, + 0x01, 0x10, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x52, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 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, 0x42, 0x11, 0xba, 0x48, 0x0e, 0x92, 0x01, 0x0b, 0x22, 0x09, 0xaa, 0x01, + 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x36, 0x0a, 0x13, + 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x61, 0x63, 0x74, 0x49, 0x67, 0x6e, + 0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, + 0x42, 0x0d, 0xba, 0x48, 0x0a, 0xd0, 0x01, 0x01, 0x92, 0x01, 0x04, 0x08, 0x03, 0x10, 0x03, 0x52, + 0x03, 0x76, 0x61, 0x6c, 0x2a, 0x3f, 0x0a, 0x06, 0x41, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x17, + 0x0a, 0x13, 0x41, 0x4e, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4e, 0x5f, 0x45, 0x4e, + 0x55, 0x4d, 0x5f, 0x58, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4e, 0x5f, 0x45, 0x4e, 0x55, + 0x4d, 0x5f, 0x59, 0x10, 0x02, 0x42, 0xa4, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, + 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x0d, 0x52, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, + 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, + 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, + 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1554,7 +1604,7 @@ func file_buf_validate_conformance_cases_repeated_proto_rawDescGZIP() []byte { } var file_buf_validate_conformance_cases_repeated_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_buf_validate_conformance_cases_repeated_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_buf_validate_conformance_cases_repeated_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_buf_validate_conformance_cases_repeated_proto_goTypes = []any{ (AnEnum)(0), // 0: buf.validate.conformance.cases.AnEnum (RepeatedEmbeddedEnumIn_AnotherInEnum)(0), // 1: buf.validate.conformance.cases.RepeatedEmbeddedEnumIn.AnotherInEnum @@ -1568,38 +1618,39 @@ var file_buf_validate_conformance_cases_repeated_proto_goTypes = []any{ (*RepeatedMinMax)(nil), // 9: buf.validate.conformance.cases.RepeatedMinMax (*RepeatedExact)(nil), // 10: buf.validate.conformance.cases.RepeatedExact (*RepeatedUnique)(nil), // 11: buf.validate.conformance.cases.RepeatedUnique - (*RepeatedMultipleUnique)(nil), // 12: buf.validate.conformance.cases.RepeatedMultipleUnique - (*RepeatedItemRule)(nil), // 13: buf.validate.conformance.cases.RepeatedItemRule - (*RepeatedItemPattern)(nil), // 14: buf.validate.conformance.cases.RepeatedItemPattern - (*RepeatedEmbedSkip)(nil), // 15: buf.validate.conformance.cases.RepeatedEmbedSkip - (*RepeatedItemIn)(nil), // 16: buf.validate.conformance.cases.RepeatedItemIn - (*RepeatedItemNotIn)(nil), // 17: buf.validate.conformance.cases.RepeatedItemNotIn - (*RepeatedEnumIn)(nil), // 18: buf.validate.conformance.cases.RepeatedEnumIn - (*RepeatedEnumNotIn)(nil), // 19: buf.validate.conformance.cases.RepeatedEnumNotIn - (*RepeatedEmbeddedEnumIn)(nil), // 20: buf.validate.conformance.cases.RepeatedEmbeddedEnumIn - (*RepeatedEmbeddedEnumNotIn)(nil), // 21: buf.validate.conformance.cases.RepeatedEmbeddedEnumNotIn - (*RepeatedAnyIn)(nil), // 22: buf.validate.conformance.cases.RepeatedAnyIn - (*RepeatedAnyNotIn)(nil), // 23: buf.validate.conformance.cases.RepeatedAnyNotIn - (*RepeatedMinAndItemLen)(nil), // 24: buf.validate.conformance.cases.RepeatedMinAndItemLen - (*RepeatedMinAndMaxItemLen)(nil), // 25: buf.validate.conformance.cases.RepeatedMinAndMaxItemLen - (*RepeatedDuration)(nil), // 26: buf.validate.conformance.cases.RepeatedDuration - (*RepeatedExactIgnore)(nil), // 27: buf.validate.conformance.cases.RepeatedExactIgnore - (*other_package.Embed)(nil), // 28: buf.validate.conformance.cases.other_package.Embed - (*anypb.Any)(nil), // 29: google.protobuf.Any - (*durationpb.Duration)(nil), // 30: google.protobuf.Duration + (*RepeatedNotUnique)(nil), // 12: buf.validate.conformance.cases.RepeatedNotUnique + (*RepeatedMultipleUnique)(nil), // 13: buf.validate.conformance.cases.RepeatedMultipleUnique + (*RepeatedItemRule)(nil), // 14: buf.validate.conformance.cases.RepeatedItemRule + (*RepeatedItemPattern)(nil), // 15: buf.validate.conformance.cases.RepeatedItemPattern + (*RepeatedEmbedSkip)(nil), // 16: buf.validate.conformance.cases.RepeatedEmbedSkip + (*RepeatedItemIn)(nil), // 17: buf.validate.conformance.cases.RepeatedItemIn + (*RepeatedItemNotIn)(nil), // 18: buf.validate.conformance.cases.RepeatedItemNotIn + (*RepeatedEnumIn)(nil), // 19: buf.validate.conformance.cases.RepeatedEnumIn + (*RepeatedEnumNotIn)(nil), // 20: buf.validate.conformance.cases.RepeatedEnumNotIn + (*RepeatedEmbeddedEnumIn)(nil), // 21: buf.validate.conformance.cases.RepeatedEmbeddedEnumIn + (*RepeatedEmbeddedEnumNotIn)(nil), // 22: buf.validate.conformance.cases.RepeatedEmbeddedEnumNotIn + (*RepeatedAnyIn)(nil), // 23: buf.validate.conformance.cases.RepeatedAnyIn + (*RepeatedAnyNotIn)(nil), // 24: buf.validate.conformance.cases.RepeatedAnyNotIn + (*RepeatedMinAndItemLen)(nil), // 25: buf.validate.conformance.cases.RepeatedMinAndItemLen + (*RepeatedMinAndMaxItemLen)(nil), // 26: buf.validate.conformance.cases.RepeatedMinAndMaxItemLen + (*RepeatedDuration)(nil), // 27: buf.validate.conformance.cases.RepeatedDuration + (*RepeatedExactIgnore)(nil), // 28: buf.validate.conformance.cases.RepeatedExactIgnore + (*other_package.Embed)(nil), // 29: buf.validate.conformance.cases.other_package.Embed + (*anypb.Any)(nil), // 30: google.protobuf.Any + (*durationpb.Duration)(nil), // 31: google.protobuf.Duration } var file_buf_validate_conformance_cases_repeated_proto_depIdxs = []int32{ 3, // 0: buf.validate.conformance.cases.RepeatedEmbedNone.val:type_name -> buf.validate.conformance.cases.Embed - 28, // 1: buf.validate.conformance.cases.RepeatedEmbedCrossPackageNone.val:type_name -> buf.validate.conformance.cases.other_package.Embed + 29, // 1: buf.validate.conformance.cases.RepeatedEmbedCrossPackageNone.val:type_name -> buf.validate.conformance.cases.other_package.Embed 3, // 2: buf.validate.conformance.cases.RepeatedMin.val:type_name -> buf.validate.conformance.cases.Embed 3, // 3: buf.validate.conformance.cases.RepeatedEmbedSkip.val:type_name -> buf.validate.conformance.cases.Embed 0, // 4: buf.validate.conformance.cases.RepeatedEnumIn.val:type_name -> buf.validate.conformance.cases.AnEnum 0, // 5: buf.validate.conformance.cases.RepeatedEnumNotIn.val:type_name -> buf.validate.conformance.cases.AnEnum 1, // 6: buf.validate.conformance.cases.RepeatedEmbeddedEnumIn.val:type_name -> buf.validate.conformance.cases.RepeatedEmbeddedEnumIn.AnotherInEnum 2, // 7: buf.validate.conformance.cases.RepeatedEmbeddedEnumNotIn.val:type_name -> buf.validate.conformance.cases.RepeatedEmbeddedEnumNotIn.AnotherNotInEnum - 29, // 8: buf.validate.conformance.cases.RepeatedAnyIn.val:type_name -> google.protobuf.Any - 29, // 9: buf.validate.conformance.cases.RepeatedAnyNotIn.val:type_name -> google.protobuf.Any - 30, // 10: buf.validate.conformance.cases.RepeatedDuration.val:type_name -> google.protobuf.Duration + 30, // 8: buf.validate.conformance.cases.RepeatedAnyIn.val:type_name -> google.protobuf.Any + 30, // 9: buf.validate.conformance.cases.RepeatedAnyNotIn.val:type_name -> google.protobuf.Any + 31, // 10: buf.validate.conformance.cases.RepeatedDuration.val:type_name -> google.protobuf.Duration 11, // [11:11] is the sub-list for method output_type 11, // [11:11] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name @@ -1722,7 +1773,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedMultipleUnique); i { + switch v := v.(*RepeatedNotUnique); i { case 0: return &v.state case 1: @@ -1734,7 +1785,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedItemRule); i { + switch v := v.(*RepeatedMultipleUnique); i { case 0: return &v.state case 1: @@ -1746,7 +1797,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[11].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedItemPattern); i { + switch v := v.(*RepeatedItemRule); i { case 0: return &v.state case 1: @@ -1758,7 +1809,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[12].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedEmbedSkip); i { + switch v := v.(*RepeatedItemPattern); i { case 0: return &v.state case 1: @@ -1770,7 +1821,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[13].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedItemIn); i { + switch v := v.(*RepeatedEmbedSkip); i { case 0: return &v.state case 1: @@ -1782,7 +1833,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[14].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedItemNotIn); i { + switch v := v.(*RepeatedItemIn); i { case 0: return &v.state case 1: @@ -1794,7 +1845,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[15].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedEnumIn); i { + switch v := v.(*RepeatedItemNotIn); i { case 0: return &v.state case 1: @@ -1806,7 +1857,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[16].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedEnumNotIn); i { + switch v := v.(*RepeatedEnumIn); i { case 0: return &v.state case 1: @@ -1818,7 +1869,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[17].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedEmbeddedEnumIn); i { + switch v := v.(*RepeatedEnumNotIn); i { case 0: return &v.state case 1: @@ -1830,7 +1881,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[18].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedEmbeddedEnumNotIn); i { + switch v := v.(*RepeatedEmbeddedEnumIn); i { case 0: return &v.state case 1: @@ -1842,7 +1893,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[19].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedAnyIn); i { + switch v := v.(*RepeatedEmbeddedEnumNotIn); i { case 0: return &v.state case 1: @@ -1854,7 +1905,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[20].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedAnyNotIn); i { + switch v := v.(*RepeatedAnyIn); i { case 0: return &v.state case 1: @@ -1866,7 +1917,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[21].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedMinAndItemLen); i { + switch v := v.(*RepeatedAnyNotIn); i { case 0: return &v.state case 1: @@ -1878,7 +1929,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[22].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedMinAndMaxItemLen); i { + switch v := v.(*RepeatedMinAndItemLen); i { case 0: return &v.state case 1: @@ -1890,7 +1941,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[23].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedDuration); i { + switch v := v.(*RepeatedMinAndMaxItemLen); i { case 0: return &v.state case 1: @@ -1902,6 +1953,18 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { } } file_buf_validate_conformance_cases_repeated_proto_msgTypes[24].Exporter = func(v any, i int) any { + switch v := v.(*RepeatedDuration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_repeated_proto_msgTypes[25].Exporter = func(v any, i int) any { switch v := v.(*RepeatedExactIgnore); i { case 0: return &v.state @@ -1920,7 +1983,7 @@ func file_buf_validate_conformance_cases_repeated_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_buf_validate_conformance_cases_repeated_proto_rawDesc, NumEnums: 3, - NumMessages: 25, + NumMessages: 26, NumExtensions: 0, NumServices: 0, }, diff --git a/tools/internal/gen/buf/validate/conformance/cases/strings.pb.go b/tools/internal/gen/buf/validate/conformance/cases/strings.pb.go index 8baa4e9e..6f9de5a7 100644 --- a/tools/internal/gen/buf/validate/conformance/cases/strings.pb.go +++ b/tools/internal/gen/buf/validate/conformance/cases/strings.pb.go @@ -1022,7 +1022,7 @@ func (x *StringEmail) GetVal() string { return "" } -type StringAddress struct { +type StringNotEmail struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1030,8 +1030,8 @@ type StringAddress struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringAddress) Reset() { - *x = StringAddress{} +func (x *StringNotEmail) Reset() { + *x = StringNotEmail{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1039,13 +1039,13 @@ func (x *StringAddress) Reset() { } } -func (x *StringAddress) String() string { +func (x *StringNotEmail) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringAddress) ProtoMessage() {} +func (*StringNotEmail) ProtoMessage() {} -func (x *StringAddress) ProtoReflect() protoreflect.Message { +func (x *StringNotEmail) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1057,19 +1057,19 @@ func (x *StringAddress) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringAddress.ProtoReflect.Descriptor instead. -func (*StringAddress) Descriptor() ([]byte, []int) { +// Deprecated: Use StringNotEmail.ProtoReflect.Descriptor instead. +func (*StringNotEmail) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{21} } -func (x *StringAddress) GetVal() string { +func (x *StringNotEmail) GetVal() string { if x != nil { return x.Val } return "" } -type StringHostname struct { +type StringAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1077,8 +1077,8 @@ type StringHostname struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringHostname) Reset() { - *x = StringHostname{} +func (x *StringAddress) Reset() { + *x = StringAddress{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1086,13 +1086,13 @@ func (x *StringHostname) Reset() { } } -func (x *StringHostname) String() string { +func (x *StringAddress) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringHostname) ProtoMessage() {} +func (*StringAddress) ProtoMessage() {} -func (x *StringHostname) ProtoReflect() protoreflect.Message { +func (x *StringAddress) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1104,19 +1104,19 @@ func (x *StringHostname) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringHostname.ProtoReflect.Descriptor instead. -func (*StringHostname) Descriptor() ([]byte, []int) { +// Deprecated: Use StringAddress.ProtoReflect.Descriptor instead. +func (*StringAddress) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{22} } -func (x *StringHostname) GetVal() string { +func (x *StringAddress) GetVal() string { if x != nil { return x.Val } return "" } -type StringIP struct { +type StringNotAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1124,8 +1124,8 @@ type StringIP struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringIP) Reset() { - *x = StringIP{} +func (x *StringNotAddress) Reset() { + *x = StringNotAddress{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1133,13 +1133,13 @@ func (x *StringIP) Reset() { } } -func (x *StringIP) String() string { +func (x *StringNotAddress) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringIP) ProtoMessage() {} +func (*StringNotAddress) ProtoMessage() {} -func (x *StringIP) ProtoReflect() protoreflect.Message { +func (x *StringNotAddress) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1151,19 +1151,19 @@ func (x *StringIP) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringIP.ProtoReflect.Descriptor instead. -func (*StringIP) Descriptor() ([]byte, []int) { +// Deprecated: Use StringNotAddress.ProtoReflect.Descriptor instead. +func (*StringNotAddress) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{23} } -func (x *StringIP) GetVal() string { +func (x *StringNotAddress) GetVal() string { if x != nil { return x.Val } return "" } -type StringIPv4 struct { +type StringHostname struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1171,8 +1171,8 @@ type StringIPv4 struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringIPv4) Reset() { - *x = StringIPv4{} +func (x *StringHostname) Reset() { + *x = StringHostname{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1180,13 +1180,13 @@ func (x *StringIPv4) Reset() { } } -func (x *StringIPv4) String() string { +func (x *StringHostname) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringIPv4) ProtoMessage() {} +func (*StringHostname) ProtoMessage() {} -func (x *StringIPv4) ProtoReflect() protoreflect.Message { +func (x *StringHostname) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1198,19 +1198,19 @@ func (x *StringIPv4) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringIPv4.ProtoReflect.Descriptor instead. -func (*StringIPv4) Descriptor() ([]byte, []int) { +// Deprecated: Use StringHostname.ProtoReflect.Descriptor instead. +func (*StringHostname) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{24} } -func (x *StringIPv4) GetVal() string { +func (x *StringHostname) GetVal() string { if x != nil { return x.Val } return "" } -type StringIPv6 struct { +type StringNotHostname struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1218,8 +1218,8 @@ type StringIPv6 struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringIPv6) Reset() { - *x = StringIPv6{} +func (x *StringNotHostname) Reset() { + *x = StringNotHostname{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1227,13 +1227,13 @@ func (x *StringIPv6) Reset() { } } -func (x *StringIPv6) String() string { +func (x *StringNotHostname) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringIPv6) ProtoMessage() {} +func (*StringNotHostname) ProtoMessage() {} -func (x *StringIPv6) ProtoReflect() protoreflect.Message { +func (x *StringNotHostname) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1245,19 +1245,19 @@ func (x *StringIPv6) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringIPv6.ProtoReflect.Descriptor instead. -func (*StringIPv6) Descriptor() ([]byte, []int) { +// Deprecated: Use StringNotHostname.ProtoReflect.Descriptor instead. +func (*StringNotHostname) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{25} } -func (x *StringIPv6) GetVal() string { +func (x *StringNotHostname) GetVal() string { if x != nil { return x.Val } return "" } -type StringIPWithPrefixLen struct { +type StringIP struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1265,8 +1265,8 @@ type StringIPWithPrefixLen struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringIPWithPrefixLen) Reset() { - *x = StringIPWithPrefixLen{} +func (x *StringIP) Reset() { + *x = StringIP{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1274,13 +1274,13 @@ func (x *StringIPWithPrefixLen) Reset() { } } -func (x *StringIPWithPrefixLen) String() string { +func (x *StringIP) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringIPWithPrefixLen) ProtoMessage() {} +func (*StringIP) ProtoMessage() {} -func (x *StringIPWithPrefixLen) ProtoReflect() protoreflect.Message { +func (x *StringIP) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1292,19 +1292,19 @@ func (x *StringIPWithPrefixLen) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringIPWithPrefixLen.ProtoReflect.Descriptor instead. -func (*StringIPWithPrefixLen) Descriptor() ([]byte, []int) { +// Deprecated: Use StringIP.ProtoReflect.Descriptor instead. +func (*StringIP) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{26} } -func (x *StringIPWithPrefixLen) GetVal() string { +func (x *StringIP) GetVal() string { if x != nil { return x.Val } return "" } -type StringIPv4WithPrefixLen struct { +type StringNotIP struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1312,8 +1312,8 @@ type StringIPv4WithPrefixLen struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringIPv4WithPrefixLen) Reset() { - *x = StringIPv4WithPrefixLen{} +func (x *StringNotIP) Reset() { + *x = StringNotIP{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1321,13 +1321,13 @@ func (x *StringIPv4WithPrefixLen) Reset() { } } -func (x *StringIPv4WithPrefixLen) String() string { +func (x *StringNotIP) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringIPv4WithPrefixLen) ProtoMessage() {} +func (*StringNotIP) ProtoMessage() {} -func (x *StringIPv4WithPrefixLen) ProtoReflect() protoreflect.Message { +func (x *StringNotIP) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1339,19 +1339,19 @@ func (x *StringIPv4WithPrefixLen) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringIPv4WithPrefixLen.ProtoReflect.Descriptor instead. -func (*StringIPv4WithPrefixLen) Descriptor() ([]byte, []int) { +// Deprecated: Use StringNotIP.ProtoReflect.Descriptor instead. +func (*StringNotIP) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{27} } -func (x *StringIPv4WithPrefixLen) GetVal() string { +func (x *StringNotIP) GetVal() string { if x != nil { return x.Val } return "" } -type StringIPv6WithPrefixLen struct { +type StringIPv4 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1359,8 +1359,8 @@ type StringIPv6WithPrefixLen struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringIPv6WithPrefixLen) Reset() { - *x = StringIPv6WithPrefixLen{} +func (x *StringIPv4) Reset() { + *x = StringIPv4{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1368,13 +1368,13 @@ func (x *StringIPv6WithPrefixLen) Reset() { } } -func (x *StringIPv6WithPrefixLen) String() string { +func (x *StringIPv4) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringIPv6WithPrefixLen) ProtoMessage() {} +func (*StringIPv4) ProtoMessage() {} -func (x *StringIPv6WithPrefixLen) ProtoReflect() protoreflect.Message { +func (x *StringIPv4) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1386,19 +1386,19 @@ func (x *StringIPv6WithPrefixLen) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringIPv6WithPrefixLen.ProtoReflect.Descriptor instead. -func (*StringIPv6WithPrefixLen) Descriptor() ([]byte, []int) { +// Deprecated: Use StringIPv4.ProtoReflect.Descriptor instead. +func (*StringIPv4) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{28} } -func (x *StringIPv6WithPrefixLen) GetVal() string { +func (x *StringIPv4) GetVal() string { if x != nil { return x.Val } return "" } -type StringIPPrefix struct { +type StringNotIPv4 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1406,8 +1406,8 @@ type StringIPPrefix struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringIPPrefix) Reset() { - *x = StringIPPrefix{} +func (x *StringNotIPv4) Reset() { + *x = StringNotIPv4{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1415,13 +1415,13 @@ func (x *StringIPPrefix) Reset() { } } -func (x *StringIPPrefix) String() string { +func (x *StringNotIPv4) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringIPPrefix) ProtoMessage() {} +func (*StringNotIPv4) ProtoMessage() {} -func (x *StringIPPrefix) ProtoReflect() protoreflect.Message { +func (x *StringNotIPv4) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1433,19 +1433,19 @@ func (x *StringIPPrefix) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringIPPrefix.ProtoReflect.Descriptor instead. -func (*StringIPPrefix) Descriptor() ([]byte, []int) { +// Deprecated: Use StringNotIPv4.ProtoReflect.Descriptor instead. +func (*StringNotIPv4) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{29} } -func (x *StringIPPrefix) GetVal() string { +func (x *StringNotIPv4) GetVal() string { if x != nil { return x.Val } return "" } -type StringIPv4Prefix struct { +type StringIPv6 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1453,8 +1453,8 @@ type StringIPv4Prefix struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringIPv4Prefix) Reset() { - *x = StringIPv4Prefix{} +func (x *StringIPv6) Reset() { + *x = StringIPv6{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1462,13 +1462,13 @@ func (x *StringIPv4Prefix) Reset() { } } -func (x *StringIPv4Prefix) String() string { +func (x *StringIPv6) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringIPv4Prefix) ProtoMessage() {} +func (*StringIPv6) ProtoMessage() {} -func (x *StringIPv4Prefix) ProtoReflect() protoreflect.Message { +func (x *StringIPv6) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1480,19 +1480,19 @@ func (x *StringIPv4Prefix) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringIPv4Prefix.ProtoReflect.Descriptor instead. -func (*StringIPv4Prefix) Descriptor() ([]byte, []int) { +// Deprecated: Use StringIPv6.ProtoReflect.Descriptor instead. +func (*StringIPv6) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{30} } -func (x *StringIPv4Prefix) GetVal() string { +func (x *StringIPv6) GetVal() string { if x != nil { return x.Val } return "" } -type StringIPv6Prefix struct { +type StringNotIPv6 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1500,8 +1500,8 @@ type StringIPv6Prefix struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringIPv6Prefix) Reset() { - *x = StringIPv6Prefix{} +func (x *StringNotIPv6) Reset() { + *x = StringNotIPv6{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1509,13 +1509,13 @@ func (x *StringIPv6Prefix) Reset() { } } -func (x *StringIPv6Prefix) String() string { +func (x *StringNotIPv6) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringIPv6Prefix) ProtoMessage() {} +func (*StringNotIPv6) ProtoMessage() {} -func (x *StringIPv6Prefix) ProtoReflect() protoreflect.Message { +func (x *StringNotIPv6) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1527,19 +1527,19 @@ func (x *StringIPv6Prefix) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringIPv6Prefix.ProtoReflect.Descriptor instead. -func (*StringIPv6Prefix) Descriptor() ([]byte, []int) { +// Deprecated: Use StringNotIPv6.ProtoReflect.Descriptor instead. +func (*StringNotIPv6) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{31} } -func (x *StringIPv6Prefix) GetVal() string { +func (x *StringNotIPv6) GetVal() string { if x != nil { return x.Val } return "" } -type StringURI struct { +type StringIPWithPrefixLen struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1547,8 +1547,8 @@ type StringURI struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringURI) Reset() { - *x = StringURI{} +func (x *StringIPWithPrefixLen) Reset() { + *x = StringIPWithPrefixLen{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1556,13 +1556,13 @@ func (x *StringURI) Reset() { } } -func (x *StringURI) String() string { +func (x *StringIPWithPrefixLen) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringURI) ProtoMessage() {} +func (*StringIPWithPrefixLen) ProtoMessage() {} -func (x *StringURI) ProtoReflect() protoreflect.Message { +func (x *StringIPWithPrefixLen) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1574,19 +1574,19 @@ func (x *StringURI) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringURI.ProtoReflect.Descriptor instead. -func (*StringURI) Descriptor() ([]byte, []int) { +// Deprecated: Use StringIPWithPrefixLen.ProtoReflect.Descriptor instead. +func (*StringIPWithPrefixLen) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{32} } -func (x *StringURI) GetVal() string { +func (x *StringIPWithPrefixLen) GetVal() string { if x != nil { return x.Val } return "" } -type StringURIRef struct { +type StringNotIPWithPrefixLen struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1594,8 +1594,8 @@ type StringURIRef struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringURIRef) Reset() { - *x = StringURIRef{} +func (x *StringNotIPWithPrefixLen) Reset() { + *x = StringNotIPWithPrefixLen{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1603,13 +1603,13 @@ func (x *StringURIRef) Reset() { } } -func (x *StringURIRef) String() string { +func (x *StringNotIPWithPrefixLen) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringURIRef) ProtoMessage() {} +func (*StringNotIPWithPrefixLen) ProtoMessage() {} -func (x *StringURIRef) ProtoReflect() protoreflect.Message { +func (x *StringNotIPWithPrefixLen) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1621,19 +1621,19 @@ func (x *StringURIRef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringURIRef.ProtoReflect.Descriptor instead. -func (*StringURIRef) Descriptor() ([]byte, []int) { +// Deprecated: Use StringNotIPWithPrefixLen.ProtoReflect.Descriptor instead. +func (*StringNotIPWithPrefixLen) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{33} } -func (x *StringURIRef) GetVal() string { +func (x *StringNotIPWithPrefixLen) GetVal() string { if x != nil { return x.Val } return "" } -type StringUUID struct { +type StringIPv4WithPrefixLen struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1641,8 +1641,8 @@ type StringUUID struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringUUID) Reset() { - *x = StringUUID{} +func (x *StringIPv4WithPrefixLen) Reset() { + *x = StringIPv4WithPrefixLen{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1650,13 +1650,13 @@ func (x *StringUUID) Reset() { } } -func (x *StringUUID) String() string { +func (x *StringIPv4WithPrefixLen) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringUUID) ProtoMessage() {} +func (*StringIPv4WithPrefixLen) ProtoMessage() {} -func (x *StringUUID) ProtoReflect() protoreflect.Message { +func (x *StringIPv4WithPrefixLen) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1668,19 +1668,19 @@ func (x *StringUUID) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringUUID.ProtoReflect.Descriptor instead. -func (*StringUUID) Descriptor() ([]byte, []int) { +// Deprecated: Use StringIPv4WithPrefixLen.ProtoReflect.Descriptor instead. +func (*StringIPv4WithPrefixLen) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{34} } -func (x *StringUUID) GetVal() string { +func (x *StringIPv4WithPrefixLen) GetVal() string { if x != nil { return x.Val } return "" } -type StringTUUID struct { +type StringNotIPv4WithPrefixLen struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1688,8 +1688,8 @@ type StringTUUID struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringTUUID) Reset() { - *x = StringTUUID{} +func (x *StringNotIPv4WithPrefixLen) Reset() { + *x = StringNotIPv4WithPrefixLen{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1697,13 +1697,13 @@ func (x *StringTUUID) Reset() { } } -func (x *StringTUUID) String() string { +func (x *StringNotIPv4WithPrefixLen) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringTUUID) ProtoMessage() {} +func (*StringNotIPv4WithPrefixLen) ProtoMessage() {} -func (x *StringTUUID) ProtoReflect() protoreflect.Message { +func (x *StringNotIPv4WithPrefixLen) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1715,19 +1715,19 @@ func (x *StringTUUID) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringTUUID.ProtoReflect.Descriptor instead. -func (*StringTUUID) Descriptor() ([]byte, []int) { +// Deprecated: Use StringNotIPv4WithPrefixLen.ProtoReflect.Descriptor instead. +func (*StringNotIPv4WithPrefixLen) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{35} } -func (x *StringTUUID) GetVal() string { +func (x *StringNotIPv4WithPrefixLen) GetVal() string { if x != nil { return x.Val } return "" } -type StringHttpHeaderName struct { +type StringIPv6WithPrefixLen struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1735,8 +1735,8 @@ type StringHttpHeaderName struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringHttpHeaderName) Reset() { - *x = StringHttpHeaderName{} +func (x *StringIPv6WithPrefixLen) Reset() { + *x = StringIPv6WithPrefixLen{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1744,13 +1744,13 @@ func (x *StringHttpHeaderName) Reset() { } } -func (x *StringHttpHeaderName) String() string { +func (x *StringIPv6WithPrefixLen) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringHttpHeaderName) ProtoMessage() {} +func (*StringIPv6WithPrefixLen) ProtoMessage() {} -func (x *StringHttpHeaderName) ProtoReflect() protoreflect.Message { +func (x *StringIPv6WithPrefixLen) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1762,19 +1762,19 @@ func (x *StringHttpHeaderName) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringHttpHeaderName.ProtoReflect.Descriptor instead. -func (*StringHttpHeaderName) Descriptor() ([]byte, []int) { +// Deprecated: Use StringIPv6WithPrefixLen.ProtoReflect.Descriptor instead. +func (*StringIPv6WithPrefixLen) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{36} } -func (x *StringHttpHeaderName) GetVal() string { +func (x *StringIPv6WithPrefixLen) GetVal() string { if x != nil { return x.Val } return "" } -type StringHttpHeaderValue struct { +type StringNotIPv6WithPrefixLen struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1782,8 +1782,8 @@ type StringHttpHeaderValue struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringHttpHeaderValue) Reset() { - *x = StringHttpHeaderValue{} +func (x *StringNotIPv6WithPrefixLen) Reset() { + *x = StringNotIPv6WithPrefixLen{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1791,13 +1791,13 @@ func (x *StringHttpHeaderValue) Reset() { } } -func (x *StringHttpHeaderValue) String() string { +func (x *StringNotIPv6WithPrefixLen) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringHttpHeaderValue) ProtoMessage() {} +func (*StringNotIPv6WithPrefixLen) ProtoMessage() {} -func (x *StringHttpHeaderValue) ProtoReflect() protoreflect.Message { +func (x *StringNotIPv6WithPrefixLen) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1809,19 +1809,19 @@ func (x *StringHttpHeaderValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringHttpHeaderValue.ProtoReflect.Descriptor instead. -func (*StringHttpHeaderValue) Descriptor() ([]byte, []int) { +// Deprecated: Use StringNotIPv6WithPrefixLen.ProtoReflect.Descriptor instead. +func (*StringNotIPv6WithPrefixLen) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{37} } -func (x *StringHttpHeaderValue) GetVal() string { +func (x *StringNotIPv6WithPrefixLen) GetVal() string { if x != nil { return x.Val } return "" } -type StringHttpHeaderNameLoose struct { +type StringIPPrefix struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1829,8 +1829,8 @@ type StringHttpHeaderNameLoose struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringHttpHeaderNameLoose) Reset() { - *x = StringHttpHeaderNameLoose{} +func (x *StringIPPrefix) Reset() { + *x = StringIPPrefix{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1838,13 +1838,13 @@ func (x *StringHttpHeaderNameLoose) Reset() { } } -func (x *StringHttpHeaderNameLoose) String() string { +func (x *StringIPPrefix) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringHttpHeaderNameLoose) ProtoMessage() {} +func (*StringIPPrefix) ProtoMessage() {} -func (x *StringHttpHeaderNameLoose) ProtoReflect() protoreflect.Message { +func (x *StringIPPrefix) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1856,19 +1856,19 @@ func (x *StringHttpHeaderNameLoose) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringHttpHeaderNameLoose.ProtoReflect.Descriptor instead. -func (*StringHttpHeaderNameLoose) Descriptor() ([]byte, []int) { +// Deprecated: Use StringIPPrefix.ProtoReflect.Descriptor instead. +func (*StringIPPrefix) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{38} } -func (x *StringHttpHeaderNameLoose) GetVal() string { +func (x *StringIPPrefix) GetVal() string { if x != nil { return x.Val } return "" } -type StringHttpHeaderValueLoose struct { +type StringNotIPPrefix struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1876,8 +1876,8 @@ type StringHttpHeaderValueLoose struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringHttpHeaderValueLoose) Reset() { - *x = StringHttpHeaderValueLoose{} +func (x *StringNotIPPrefix) Reset() { + *x = StringNotIPPrefix{} if protoimpl.UnsafeEnabled { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1885,13 +1885,13 @@ func (x *StringHttpHeaderValueLoose) Reset() { } } -func (x *StringHttpHeaderValueLoose) String() string { +func (x *StringNotIPPrefix) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringHttpHeaderValueLoose) ProtoMessage() {} +func (*StringNotIPPrefix) ProtoMessage() {} -func (x *StringHttpHeaderValueLoose) ProtoReflect() protoreflect.Message { +func (x *StringNotIPPrefix) ProtoReflect() protoreflect.Message { mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1903,19 +1903,19 @@ func (x *StringHttpHeaderValueLoose) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringHttpHeaderValueLoose.ProtoReflect.Descriptor instead. -func (*StringHttpHeaderValueLoose) Descriptor() ([]byte, []int) { +// Deprecated: Use StringNotIPPrefix.ProtoReflect.Descriptor instead. +func (*StringNotIPPrefix) Descriptor() ([]byte, []int) { return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{39} } -func (x *StringHttpHeaderValueLoose) GetVal() string { +func (x *StringNotIPPrefix) GetVal() string { if x != nil { return x.Val } return "" } -type StringUUIDIgnore struct { +type StringIPv4Prefix struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1923,10 +1923,762 @@ type StringUUIDIgnore struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringUUIDIgnore) Reset() { - *x = StringUUIDIgnore{} +func (x *StringIPv4Prefix) Reset() { + *x = StringIPv4Prefix{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringIPv4Prefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringIPv4Prefix) ProtoMessage() {} + +func (x *StringIPv4Prefix) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[40] + 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 StringIPv4Prefix.ProtoReflect.Descriptor instead. +func (*StringIPv4Prefix) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{40} +} + +func (x *StringIPv4Prefix) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringNotIPv4Prefix struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringNotIPv4Prefix) Reset() { + *x = StringNotIPv4Prefix{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringNotIPv4Prefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringNotIPv4Prefix) ProtoMessage() {} + +func (x *StringNotIPv4Prefix) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[41] + 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 StringNotIPv4Prefix.ProtoReflect.Descriptor instead. +func (*StringNotIPv4Prefix) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{41} +} + +func (x *StringNotIPv4Prefix) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringIPv6Prefix struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringIPv6Prefix) Reset() { + *x = StringIPv6Prefix{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringIPv6Prefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringIPv6Prefix) ProtoMessage() {} + +func (x *StringIPv6Prefix) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[42] + 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 StringIPv6Prefix.ProtoReflect.Descriptor instead. +func (*StringIPv6Prefix) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{42} +} + +func (x *StringIPv6Prefix) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringNotIPv6Prefix struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringNotIPv6Prefix) Reset() { + *x = StringNotIPv6Prefix{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringNotIPv6Prefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringNotIPv6Prefix) ProtoMessage() {} + +func (x *StringNotIPv6Prefix) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[43] + 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 StringNotIPv6Prefix.ProtoReflect.Descriptor instead. +func (*StringNotIPv6Prefix) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{43} +} + +func (x *StringNotIPv6Prefix) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringURI struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringURI) Reset() { + *x = StringURI{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringURI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringURI) ProtoMessage() {} + +func (x *StringURI) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[44] + 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 StringURI.ProtoReflect.Descriptor instead. +func (*StringURI) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{44} +} + +func (x *StringURI) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringNotURI struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringNotURI) Reset() { + *x = StringNotURI{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringNotURI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringNotURI) ProtoMessage() {} + +func (x *StringNotURI) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[45] + 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 StringNotURI.ProtoReflect.Descriptor instead. +func (*StringNotURI) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{45} +} + +func (x *StringNotURI) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringURIRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringURIRef) Reset() { + *x = StringURIRef{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringURIRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringURIRef) ProtoMessage() {} + +func (x *StringURIRef) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[46] + 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 StringURIRef.ProtoReflect.Descriptor instead. +func (*StringURIRef) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{46} +} + +func (x *StringURIRef) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringNotURIRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringNotURIRef) Reset() { + *x = StringNotURIRef{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringNotURIRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringNotURIRef) ProtoMessage() {} + +func (x *StringNotURIRef) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[47] + 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 StringNotURIRef.ProtoReflect.Descriptor instead. +func (*StringNotURIRef) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{47} +} + +func (x *StringNotURIRef) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringUUID struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringUUID) Reset() { + *x = StringUUID{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringUUID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringUUID) ProtoMessage() {} + +func (x *StringUUID) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[48] + 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 StringUUID.ProtoReflect.Descriptor instead. +func (*StringUUID) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{48} +} + +func (x *StringUUID) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringNotUUID struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringNotUUID) Reset() { + *x = StringNotUUID{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringNotUUID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringNotUUID) ProtoMessage() {} + +func (x *StringNotUUID) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[49] + 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 StringNotUUID.ProtoReflect.Descriptor instead. +func (*StringNotUUID) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{49} +} + +func (x *StringNotUUID) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringTUUID struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringTUUID) Reset() { + *x = StringTUUID{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringTUUID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringTUUID) ProtoMessage() {} + +func (x *StringTUUID) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[50] + 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 StringTUUID.ProtoReflect.Descriptor instead. +func (*StringTUUID) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{50} +} + +func (x *StringTUUID) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringNotTUUID struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringNotTUUID) Reset() { + *x = StringNotTUUID{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringNotTUUID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringNotTUUID) ProtoMessage() {} + +func (x *StringNotTUUID) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[51] + 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 StringNotTUUID.ProtoReflect.Descriptor instead. +func (*StringNotTUUID) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{51} +} + +func (x *StringNotTUUID) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringHttpHeaderName struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringHttpHeaderName) Reset() { + *x = StringHttpHeaderName{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[40] + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringHttpHeaderName) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringHttpHeaderName) ProtoMessage() {} + +func (x *StringHttpHeaderName) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[52] + 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 StringHttpHeaderName.ProtoReflect.Descriptor instead. +func (*StringHttpHeaderName) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{52} +} + +func (x *StringHttpHeaderName) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringHttpHeaderValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringHttpHeaderValue) Reset() { + *x = StringHttpHeaderValue{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringHttpHeaderValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringHttpHeaderValue) ProtoMessage() {} + +func (x *StringHttpHeaderValue) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[53] + 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 StringHttpHeaderValue.ProtoReflect.Descriptor instead. +func (*StringHttpHeaderValue) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{53} +} + +func (x *StringHttpHeaderValue) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringHttpHeaderNameLoose struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringHttpHeaderNameLoose) Reset() { + *x = StringHttpHeaderNameLoose{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringHttpHeaderNameLoose) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringHttpHeaderNameLoose) ProtoMessage() {} + +func (x *StringHttpHeaderNameLoose) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[54] + 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 StringHttpHeaderNameLoose.ProtoReflect.Descriptor instead. +func (*StringHttpHeaderNameLoose) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{54} +} + +func (x *StringHttpHeaderNameLoose) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringHttpHeaderValueLoose struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringHttpHeaderValueLoose) Reset() { + *x = StringHttpHeaderValueLoose{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringHttpHeaderValueLoose) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringHttpHeaderValueLoose) ProtoMessage() {} + +func (x *StringHttpHeaderValueLoose) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[55] + 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 StringHttpHeaderValueLoose.ProtoReflect.Descriptor instead. +func (*StringHttpHeaderValueLoose) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{55} +} + +func (x *StringHttpHeaderValueLoose) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringUUIDIgnore struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringUUIDIgnore) Reset() { + *x = StringUUIDIgnore{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1939,7 +2691,7 @@ func (x *StringUUIDIgnore) String() string { func (*StringUUIDIgnore) ProtoMessage() {} func (x *StringUUIDIgnore) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[40] + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1952,7 +2704,7 @@ func (x *StringUUIDIgnore) ProtoReflect() protoreflect.Message { // Deprecated: Use StringUUIDIgnore.ProtoReflect.Descriptor instead. func (*StringUUIDIgnore) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{40} + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{56} } func (x *StringUUIDIgnore) GetVal() string { @@ -1976,7 +2728,7 @@ type StringInOneof struct { func (x *StringInOneof) Reset() { *x = StringInOneof{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[41] + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1989,7 +2741,7 @@ func (x *StringInOneof) String() string { func (*StringInOneof) ProtoMessage() {} func (x *StringInOneof) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[41] + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2002,7 +2754,7 @@ func (x *StringInOneof) ProtoReflect() protoreflect.Message { // Deprecated: Use StringInOneof.ProtoReflect.Descriptor instead. func (*StringInOneof) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{41} + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{57} } func (m *StringInOneof) GetFoo() isStringInOneof_Foo { @@ -2040,20 +2792,67 @@ type StringHostAndPort struct { func (x *StringHostAndPort) Reset() { *x = StringHostAndPort{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[42] + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringHostAndPort) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringHostAndPort) ProtoMessage() {} + +func (x *StringHostAndPort) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[58] + 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 StringHostAndPort.ProtoReflect.Descriptor instead. +func (*StringHostAndPort) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{58} +} + +func (x *StringHostAndPort) GetVal() string { + if x != nil { + return x.Val + } + return "" +} + +type StringHostAndOptionalPort struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *StringHostAndOptionalPort) Reset() { + *x = StringHostAndOptionalPort{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *StringHostAndPort) String() string { +func (x *StringHostAndOptionalPort) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringHostAndPort) ProtoMessage() {} +func (*StringHostAndOptionalPort) ProtoMessage() {} -func (x *StringHostAndPort) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[42] +func (x *StringHostAndOptionalPort) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2064,19 +2863,19 @@ func (x *StringHostAndPort) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringHostAndPort.ProtoReflect.Descriptor instead. -func (*StringHostAndPort) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{42} +// Deprecated: Use StringHostAndOptionalPort.ProtoReflect.Descriptor instead. +func (*StringHostAndOptionalPort) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{59} } -func (x *StringHostAndPort) GetVal() string { +func (x *StringHostAndOptionalPort) GetVal() string { if x != nil { return x.Val } return "" } -type StringHostAndOptionalPort struct { +type StringExample struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2084,23 +2883,23 @@ type StringHostAndOptionalPort struct { Val string `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` } -func (x *StringHostAndOptionalPort) Reset() { - *x = StringHostAndOptionalPort{} +func (x *StringExample) Reset() { + *x = StringExample{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[43] + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *StringHostAndOptionalPort) String() string { +func (x *StringExample) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StringHostAndOptionalPort) ProtoMessage() {} +func (*StringExample) ProtoMessage() {} -func (x *StringHostAndOptionalPort) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[43] +func (x *StringExample) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_strings_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2111,12 +2910,12 @@ func (x *StringHostAndOptionalPort) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringHostAndOptionalPort.ProtoReflect.Descriptor instead. -func (*StringHostAndOptionalPort) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{43} +// Deprecated: Use StringExample.ProtoReflect.Descriptor instead. +func (*StringExample) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_strings_proto_rawDescGZIP(), []int{60} } -func (x *StringHostAndOptionalPort) GetVal() string { +func (x *StringExample) GetVal() string { if x != nil { return x.Val } @@ -2195,103 +2994,154 @@ var file_buf_validate_conformance_cases_strings_proto_rawDesc = []byte{ 0x7a, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x2b, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xba, 0x48, 0x05, 0x72, 0x03, 0xa8, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, - 0x0e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, - 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x27, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x76, 0x34, 0x12, - 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, - 0x04, 0x72, 0x02, 0x78, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x0a, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x76, 0x36, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x80, 0x01, 0x01, 0x52, + 0x22, 0x2b, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x60, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, + 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x72, 0x03, 0xa8, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x10, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x72, 0x03, 0xa8, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, + 0x68, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x4e, 0x6f, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, + 0x68, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x49, 0x50, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, + 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x49, 0x50, 0x12, 0x19, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, + 0x02, 0x70, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x49, 0x50, 0x76, 0x34, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x78, 0x01, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x2a, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x49, 0x50, + 0x76, 0x34, 0x12, 0x19, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x78, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, + 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x76, 0x36, 0x12, 0x1a, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x80, + 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x4e, 0x6f, 0x74, 0x49, 0x50, 0x76, 0x36, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x80, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, - 0x03, 0xd0, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x35, 0x0a, 0x17, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x49, 0x50, 0x76, 0x34, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xd8, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x22, 0x35, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x76, 0x36, 0x57, 0x69, - 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x03, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xe0, - 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xe8, 0x01, 0x01, - 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, + 0x03, 0xd0, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x36, 0x0a, 0x18, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x49, 0x50, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x35, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x76, 0x34, 0x57, + 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xd8, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x49, 0x50, 0x76, 0x34, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xd8, 0x01, 0x00, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x35, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x76, 0x36, + 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, + 0x03, 0xe0, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x38, 0x0a, 0x1a, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x49, 0x50, 0x76, 0x36, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xe0, 0x01, 0x00, 0x52, 0x03, + 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xe8, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x2f, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x49, 0x50, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xe8, 0x01, 0x00, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x76, 0x34, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xf0, 0x01, 0x01, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x31, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x49, 0x50, 0x76, 0x34, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xf0, 0x01, 0x01, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xf0, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x76, 0x36, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xf8, 0x01, 0x01, - 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x09, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, - 0x52, 0x49, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x88, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, - 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x52, 0x49, 0x52, 0x65, 0x66, 0x12, 0x1a, - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, - 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x0a, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x55, 0x55, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x55, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x31, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, + 0x6f, 0x74, 0x49, 0x50, 0x76, 0x36, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xf8, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x09, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x55, 0x52, 0x49, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x88, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x2a, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x55, 0x52, + 0x49, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, + 0xba, 0x48, 0x05, 0x72, 0x03, 0x88, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2a, 0x0a, + 0x0c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x52, 0x49, 0x52, 0x65, 0x66, 0x12, 0x1a, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, + 0x03, 0x90, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x0f, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x55, 0x52, 0x49, 0x52, 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x03, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, + 0x90, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x55, 0x55, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x2b, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x88, 0x02, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, - 0x32, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xc0, 0x01, 0x01, 0x52, 0x03, - 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x74, - 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x03, + 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x29, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x55, 0x55, 0x49, 0x44, 0x12, 0x1a, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x72, 0x03, 0x88, 0x02, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x0e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x54, 0x55, 0x55, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xc0, 0x01, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x69, + 0x88, 0x02, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x32, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, - 0x4c, 0x6f, 0x6f, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3b, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x74, - 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x6f, 0x6f, - 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0b, 0xba, 0x48, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x31, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x55, 0x49, 0x44, 0x49, - 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0b, 0xba, 0x48, 0x08, 0xd0, 0x01, 0x01, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x03, 0x76, 0x61, 0x6c, 0x22, 0x37, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, - 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x1f, 0x0a, 0x03, 0x62, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x72, 0x06, 0x52, 0x01, 0x61, 0x52, 0x01, 0x62, 0x48, - 0x00, 0x52, 0x03, 0x62, 0x61, 0x72, 0x42, 0x05, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x22, 0x2f, 0x0a, - 0x11, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x64, 0x50, 0x6f, - 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x80, 0x02, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0xa4, - 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x64, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x86, 0x01, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x74, 0xba, 0x48, 0x71, 0xba, - 0x01, 0x6e, 0x0a, 0x22, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x5f, - 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x28, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x29, 0x20, 0x70, 0x6f, 0x72, 0x74, - 0x20, 0x70, 0x61, 0x69, 0x72, 0x1a, 0x19, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x48, 0x6f, - 0x73, 0x74, 0x41, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x28, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, - 0x52, 0x03, 0x76, 0x61, 0x6c, 0x42, 0xa3, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x0c, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, - 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, - 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, - 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, - 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, - 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, + 0x48, 0x05, 0x72, 0x03, 0xc0, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x33, 0x0a, 0x15, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xc0, 0x01, 0x02, 0x52, 0x03, 0x76, 0x61, + 0x6c, 0x22, 0x3a, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x74, 0x70, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x6f, 0x73, 0x65, 0x12, 0x1d, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xba, 0x48, 0x08, + 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x3b, 0x0a, + 0x1a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x6f, 0x6f, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xba, 0x48, 0x08, 0x72, 0x06, 0xc8, + 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x31, 0x0a, 0x10, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x55, 0x55, 0x49, 0x44, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x1d, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xba, 0x48, 0x08, + 0xd0, 0x01, 0x01, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x37, 0x0a, + 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x1f, + 0x0a, 0x03, 0x62, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xba, 0x48, 0x08, + 0x72, 0x06, 0x52, 0x01, 0x61, 0x52, 0x01, 0x62, 0x48, 0x00, 0x52, 0x03, 0x62, 0x61, 0x72, 0x42, + 0x05, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x22, 0x2f, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x48, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x80, + 0x02, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x86, 0x01, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x74, 0xba, 0x48, 0x71, 0xba, 0x01, 0x6e, 0x0a, 0x22, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, + 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x28, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x29, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x61, 0x69, 0x72, 0x1a, 0x19, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x64, 0x50, 0x6f, + 0x72, 0x74, 0x28, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x2e, + 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, + 0x1d, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xba, 0x48, + 0x08, 0x72, 0x06, 0x92, 0x02, 0x03, 0x66, 0x6f, 0x6f, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x42, 0xa3, + 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, + 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x0c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, + 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, + 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, + 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, + 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, + 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2306,7 +3156,7 @@ func file_buf_validate_conformance_cases_strings_proto_rawDescGZIP() []byte { return file_buf_validate_conformance_cases_strings_proto_rawDescData } -var file_buf_validate_conformance_cases_strings_proto_msgTypes = make([]protoimpl.MessageInfo, 44) +var file_buf_validate_conformance_cases_strings_proto_msgTypes = make([]protoimpl.MessageInfo, 61) var file_buf_validate_conformance_cases_strings_proto_goTypes = []any{ (*StringNone)(nil), // 0: buf.validate.conformance.cases.StringNone (*StringConst)(nil), // 1: buf.validate.conformance.cases.StringConst @@ -2329,29 +3179,46 @@ var file_buf_validate_conformance_cases_strings_proto_goTypes = []any{ (*StringNotContains)(nil), // 18: buf.validate.conformance.cases.StringNotContains (*StringSuffix)(nil), // 19: buf.validate.conformance.cases.StringSuffix (*StringEmail)(nil), // 20: buf.validate.conformance.cases.StringEmail - (*StringAddress)(nil), // 21: buf.validate.conformance.cases.StringAddress - (*StringHostname)(nil), // 22: buf.validate.conformance.cases.StringHostname - (*StringIP)(nil), // 23: buf.validate.conformance.cases.StringIP - (*StringIPv4)(nil), // 24: buf.validate.conformance.cases.StringIPv4 - (*StringIPv6)(nil), // 25: buf.validate.conformance.cases.StringIPv6 - (*StringIPWithPrefixLen)(nil), // 26: buf.validate.conformance.cases.StringIPWithPrefixLen - (*StringIPv4WithPrefixLen)(nil), // 27: buf.validate.conformance.cases.StringIPv4WithPrefixLen - (*StringIPv6WithPrefixLen)(nil), // 28: buf.validate.conformance.cases.StringIPv6WithPrefixLen - (*StringIPPrefix)(nil), // 29: buf.validate.conformance.cases.StringIPPrefix - (*StringIPv4Prefix)(nil), // 30: buf.validate.conformance.cases.StringIPv4Prefix - (*StringIPv6Prefix)(nil), // 31: buf.validate.conformance.cases.StringIPv6Prefix - (*StringURI)(nil), // 32: buf.validate.conformance.cases.StringURI - (*StringURIRef)(nil), // 33: buf.validate.conformance.cases.StringURIRef - (*StringUUID)(nil), // 34: buf.validate.conformance.cases.StringUUID - (*StringTUUID)(nil), // 35: buf.validate.conformance.cases.StringTUUID - (*StringHttpHeaderName)(nil), // 36: buf.validate.conformance.cases.StringHttpHeaderName - (*StringHttpHeaderValue)(nil), // 37: buf.validate.conformance.cases.StringHttpHeaderValue - (*StringHttpHeaderNameLoose)(nil), // 38: buf.validate.conformance.cases.StringHttpHeaderNameLoose - (*StringHttpHeaderValueLoose)(nil), // 39: buf.validate.conformance.cases.StringHttpHeaderValueLoose - (*StringUUIDIgnore)(nil), // 40: buf.validate.conformance.cases.StringUUIDIgnore - (*StringInOneof)(nil), // 41: buf.validate.conformance.cases.StringInOneof - (*StringHostAndPort)(nil), // 42: buf.validate.conformance.cases.StringHostAndPort - (*StringHostAndOptionalPort)(nil), // 43: buf.validate.conformance.cases.StringHostAndOptionalPort + (*StringNotEmail)(nil), // 21: buf.validate.conformance.cases.StringNotEmail + (*StringAddress)(nil), // 22: buf.validate.conformance.cases.StringAddress + (*StringNotAddress)(nil), // 23: buf.validate.conformance.cases.StringNotAddress + (*StringHostname)(nil), // 24: buf.validate.conformance.cases.StringHostname + (*StringNotHostname)(nil), // 25: buf.validate.conformance.cases.StringNotHostname + (*StringIP)(nil), // 26: buf.validate.conformance.cases.StringIP + (*StringNotIP)(nil), // 27: buf.validate.conformance.cases.StringNotIP + (*StringIPv4)(nil), // 28: buf.validate.conformance.cases.StringIPv4 + (*StringNotIPv4)(nil), // 29: buf.validate.conformance.cases.StringNotIPv4 + (*StringIPv6)(nil), // 30: buf.validate.conformance.cases.StringIPv6 + (*StringNotIPv6)(nil), // 31: buf.validate.conformance.cases.StringNotIPv6 + (*StringIPWithPrefixLen)(nil), // 32: buf.validate.conformance.cases.StringIPWithPrefixLen + (*StringNotIPWithPrefixLen)(nil), // 33: buf.validate.conformance.cases.StringNotIPWithPrefixLen + (*StringIPv4WithPrefixLen)(nil), // 34: buf.validate.conformance.cases.StringIPv4WithPrefixLen + (*StringNotIPv4WithPrefixLen)(nil), // 35: buf.validate.conformance.cases.StringNotIPv4WithPrefixLen + (*StringIPv6WithPrefixLen)(nil), // 36: buf.validate.conformance.cases.StringIPv6WithPrefixLen + (*StringNotIPv6WithPrefixLen)(nil), // 37: buf.validate.conformance.cases.StringNotIPv6WithPrefixLen + (*StringIPPrefix)(nil), // 38: buf.validate.conformance.cases.StringIPPrefix + (*StringNotIPPrefix)(nil), // 39: buf.validate.conformance.cases.StringNotIPPrefix + (*StringIPv4Prefix)(nil), // 40: buf.validate.conformance.cases.StringIPv4Prefix + (*StringNotIPv4Prefix)(nil), // 41: buf.validate.conformance.cases.StringNotIPv4Prefix + (*StringIPv6Prefix)(nil), // 42: buf.validate.conformance.cases.StringIPv6Prefix + (*StringNotIPv6Prefix)(nil), // 43: buf.validate.conformance.cases.StringNotIPv6Prefix + (*StringURI)(nil), // 44: buf.validate.conformance.cases.StringURI + (*StringNotURI)(nil), // 45: buf.validate.conformance.cases.StringNotURI + (*StringURIRef)(nil), // 46: buf.validate.conformance.cases.StringURIRef + (*StringNotURIRef)(nil), // 47: buf.validate.conformance.cases.StringNotURIRef + (*StringUUID)(nil), // 48: buf.validate.conformance.cases.StringUUID + (*StringNotUUID)(nil), // 49: buf.validate.conformance.cases.StringNotUUID + (*StringTUUID)(nil), // 50: buf.validate.conformance.cases.StringTUUID + (*StringNotTUUID)(nil), // 51: buf.validate.conformance.cases.StringNotTUUID + (*StringHttpHeaderName)(nil), // 52: buf.validate.conformance.cases.StringHttpHeaderName + (*StringHttpHeaderValue)(nil), // 53: buf.validate.conformance.cases.StringHttpHeaderValue + (*StringHttpHeaderNameLoose)(nil), // 54: buf.validate.conformance.cases.StringHttpHeaderNameLoose + (*StringHttpHeaderValueLoose)(nil), // 55: buf.validate.conformance.cases.StringHttpHeaderValueLoose + (*StringUUIDIgnore)(nil), // 56: buf.validate.conformance.cases.StringUUIDIgnore + (*StringInOneof)(nil), // 57: buf.validate.conformance.cases.StringInOneof + (*StringHostAndPort)(nil), // 58: buf.validate.conformance.cases.StringHostAndPort + (*StringHostAndOptionalPort)(nil), // 59: buf.validate.conformance.cases.StringHostAndOptionalPort + (*StringExample)(nil), // 60: buf.validate.conformance.cases.StringExample } var file_buf_validate_conformance_cases_strings_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -2620,7 +3487,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[21].Exporter = func(v any, i int) any { - switch v := v.(*StringAddress); i { + switch v := v.(*StringNotEmail); i { case 0: return &v.state case 1: @@ -2632,7 +3499,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[22].Exporter = func(v any, i int) any { - switch v := v.(*StringHostname); i { + switch v := v.(*StringAddress); i { case 0: return &v.state case 1: @@ -2644,7 +3511,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[23].Exporter = func(v any, i int) any { - switch v := v.(*StringIP); i { + switch v := v.(*StringNotAddress); i { case 0: return &v.state case 1: @@ -2656,7 +3523,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[24].Exporter = func(v any, i int) any { - switch v := v.(*StringIPv4); i { + switch v := v.(*StringHostname); i { case 0: return &v.state case 1: @@ -2668,7 +3535,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[25].Exporter = func(v any, i int) any { - switch v := v.(*StringIPv6); i { + switch v := v.(*StringNotHostname); i { case 0: return &v.state case 1: @@ -2680,7 +3547,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[26].Exporter = func(v any, i int) any { - switch v := v.(*StringIPWithPrefixLen); i { + switch v := v.(*StringIP); i { case 0: return &v.state case 1: @@ -2692,7 +3559,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[27].Exporter = func(v any, i int) any { - switch v := v.(*StringIPv4WithPrefixLen); i { + switch v := v.(*StringNotIP); i { case 0: return &v.state case 1: @@ -2704,7 +3571,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[28].Exporter = func(v any, i int) any { - switch v := v.(*StringIPv6WithPrefixLen); i { + switch v := v.(*StringIPv4); i { case 0: return &v.state case 1: @@ -2716,7 +3583,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[29].Exporter = func(v any, i int) any { - switch v := v.(*StringIPPrefix); i { + switch v := v.(*StringNotIPv4); i { case 0: return &v.state case 1: @@ -2728,7 +3595,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[30].Exporter = func(v any, i int) any { - switch v := v.(*StringIPv4Prefix); i { + switch v := v.(*StringIPv6); i { case 0: return &v.state case 1: @@ -2740,7 +3607,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[31].Exporter = func(v any, i int) any { - switch v := v.(*StringIPv6Prefix); i { + switch v := v.(*StringNotIPv6); i { case 0: return &v.state case 1: @@ -2752,7 +3619,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[32].Exporter = func(v any, i int) any { - switch v := v.(*StringURI); i { + switch v := v.(*StringIPWithPrefixLen); i { case 0: return &v.state case 1: @@ -2764,7 +3631,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[33].Exporter = func(v any, i int) any { - switch v := v.(*StringURIRef); i { + switch v := v.(*StringNotIPWithPrefixLen); i { case 0: return &v.state case 1: @@ -2776,7 +3643,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[34].Exporter = func(v any, i int) any { - switch v := v.(*StringUUID); i { + switch v := v.(*StringIPv4WithPrefixLen); i { case 0: return &v.state case 1: @@ -2788,7 +3655,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[35].Exporter = func(v any, i int) any { - switch v := v.(*StringTUUID); i { + switch v := v.(*StringNotIPv4WithPrefixLen); i { case 0: return &v.state case 1: @@ -2800,7 +3667,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[36].Exporter = func(v any, i int) any { - switch v := v.(*StringHttpHeaderName); i { + switch v := v.(*StringIPv6WithPrefixLen); i { case 0: return &v.state case 1: @@ -2812,7 +3679,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[37].Exporter = func(v any, i int) any { - switch v := v.(*StringHttpHeaderValue); i { + switch v := v.(*StringNotIPv6WithPrefixLen); i { case 0: return &v.state case 1: @@ -2824,7 +3691,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[38].Exporter = func(v any, i int) any { - switch v := v.(*StringHttpHeaderNameLoose); i { + switch v := v.(*StringIPPrefix); i { case 0: return &v.state case 1: @@ -2836,7 +3703,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[39].Exporter = func(v any, i int) any { - switch v := v.(*StringHttpHeaderValueLoose); i { + switch v := v.(*StringNotIPPrefix); i { case 0: return &v.state case 1: @@ -2848,7 +3715,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[40].Exporter = func(v any, i int) any { - switch v := v.(*StringUUIDIgnore); i { + switch v := v.(*StringIPv4Prefix); i { case 0: return &v.state case 1: @@ -2860,7 +3727,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[41].Exporter = func(v any, i int) any { - switch v := v.(*StringInOneof); i { + switch v := v.(*StringNotIPv4Prefix); i { case 0: return &v.state case 1: @@ -2872,7 +3739,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[42].Exporter = func(v any, i int) any { - switch v := v.(*StringHostAndPort); i { + switch v := v.(*StringIPv6Prefix); i { case 0: return &v.state case 1: @@ -2884,6 +3751,198 @@ func file_buf_validate_conformance_cases_strings_proto_init() { } } file_buf_validate_conformance_cases_strings_proto_msgTypes[43].Exporter = func(v any, i int) any { + switch v := v.(*StringNotIPv6Prefix); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[44].Exporter = func(v any, i int) any { + switch v := v.(*StringURI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[45].Exporter = func(v any, i int) any { + switch v := v.(*StringNotURI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[46].Exporter = func(v any, i int) any { + switch v := v.(*StringURIRef); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[47].Exporter = func(v any, i int) any { + switch v := v.(*StringNotURIRef); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[48].Exporter = func(v any, i int) any { + switch v := v.(*StringUUID); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[49].Exporter = func(v any, i int) any { + switch v := v.(*StringNotUUID); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[50].Exporter = func(v any, i int) any { + switch v := v.(*StringTUUID); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[51].Exporter = func(v any, i int) any { + switch v := v.(*StringNotTUUID); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[52].Exporter = func(v any, i int) any { + switch v := v.(*StringHttpHeaderName); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[53].Exporter = func(v any, i int) any { + switch v := v.(*StringHttpHeaderValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[54].Exporter = func(v any, i int) any { + switch v := v.(*StringHttpHeaderNameLoose); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[55].Exporter = func(v any, i int) any { + switch v := v.(*StringHttpHeaderValueLoose); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[56].Exporter = func(v any, i int) any { + switch v := v.(*StringUUIDIgnore); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[57].Exporter = func(v any, i int) any { + switch v := v.(*StringInOneof); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[58].Exporter = func(v any, i int) any { + switch v := v.(*StringHostAndPort); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_strings_proto_msgTypes[59].Exporter = func(v any, i int) any { switch v := v.(*StringHostAndOptionalPort); i { case 0: return &v.state @@ -2895,8 +3954,20 @@ func file_buf_validate_conformance_cases_strings_proto_init() { return nil } } + file_buf_validate_conformance_cases_strings_proto_msgTypes[60].Exporter = func(v any, i int) any { + switch v := v.(*StringExample); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } - file_buf_validate_conformance_cases_strings_proto_msgTypes[41].OneofWrappers = []any{ + file_buf_validate_conformance_cases_strings_proto_msgTypes[57].OneofWrappers = []any{ (*StringInOneof_Bar)(nil), } type x struct{} @@ -2905,7 +3976,7 @@ func file_buf_validate_conformance_cases_strings_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_buf_validate_conformance_cases_strings_proto_rawDesc, NumEnums: 0, - NumMessages: 44, + NumMessages: 61, NumExtensions: 0, NumServices: 0, }, diff --git a/tools/internal/gen/buf/validate/conformance/cases/wkt_duration.pb.go b/tools/internal/gen/buf/validate/conformance/cases/wkt_duration.pb.go index 28d45a11..fbd1a6d0 100644 --- a/tools/internal/gen/buf/validate/conformance/cases/wkt_duration.pb.go +++ b/tools/internal/gen/buf/validate/conformance/cases/wkt_duration.pb.go @@ -704,6 +704,53 @@ func (x *DurationFieldWithOtherFields) GetIntVal() int32 { return 0 } +type DurationExample struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *durationpb.Duration `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *DurationExample) Reset() { + *x = DurationExample{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DurationExample) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DurationExample) ProtoMessage() {} + +func (x *DurationExample) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_wkt_duration_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 DurationExample.ProtoReflect.Descriptor instead. +func (*DurationExample) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{14} +} + +func (x *DurationExample) GetVal() *durationpb.Duration { + if x != nil { + return x.Val + } + return nil +} + var File_buf_validate_conformance_cases_wkt_duration_proto protoreflect.FileDescriptor var file_buf_validate_conformance_cases_wkt_duration_proto_rawDesc = []byte{ @@ -784,26 +831,31 @@ var file_buf_validate_conformance_cases_wkt_duration_proto_rawDesc = []byte{ 0x0a, 0xba, 0x48, 0x07, 0xaa, 0x01, 0x04, 0x22, 0x02, 0x08, 0x01, 0x52, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xba, 0x48, 0x04, 0x1a, 0x02, - 0x20, 0x10, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x42, 0xa7, 0x02, 0x0a, 0x22, 0x63, - 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, - 0x73, 0x42, 0x10, 0x57, 0x6b, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, - 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, - 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, - 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, - 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, - 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x20, 0x10, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x22, 0x4a, 0x0a, 0x0f, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x37, 0x0a, + 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 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, 0x42, 0x0a, 0xba, 0x48, 0x07, 0xaa, 0x01, 0x04, 0x4a, 0x02, 0x08, + 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x42, 0xa7, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, + 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x10, 0x57, + 0x6b, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, + 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, + 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, + 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, + 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, + 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, + 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, + 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -818,7 +870,7 @@ func file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP() []byte return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescData } -var file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_buf_validate_conformance_cases_wkt_duration_proto_goTypes = []any{ (*DurationNone)(nil), // 0: buf.validate.conformance.cases.DurationNone (*DurationRequired)(nil), // 1: buf.validate.conformance.cases.DurationRequired @@ -834,28 +886,30 @@ var file_buf_validate_conformance_cases_wkt_duration_proto_goTypes = []any{ (*DurationGTELTE)(nil), // 11: buf.validate.conformance.cases.DurationGTELTE (*DurationExGTELTE)(nil), // 12: buf.validate.conformance.cases.DurationExGTELTE (*DurationFieldWithOtherFields)(nil), // 13: buf.validate.conformance.cases.DurationFieldWithOtherFields - (*durationpb.Duration)(nil), // 14: google.protobuf.Duration + (*DurationExample)(nil), // 14: buf.validate.conformance.cases.DurationExample + (*durationpb.Duration)(nil), // 15: google.protobuf.Duration } var file_buf_validate_conformance_cases_wkt_duration_proto_depIdxs = []int32{ - 14, // 0: buf.validate.conformance.cases.DurationNone.val:type_name -> google.protobuf.Duration - 14, // 1: buf.validate.conformance.cases.DurationRequired.val:type_name -> google.protobuf.Duration - 14, // 2: buf.validate.conformance.cases.DurationConst.val:type_name -> google.protobuf.Duration - 14, // 3: buf.validate.conformance.cases.DurationIn.val:type_name -> google.protobuf.Duration - 14, // 4: buf.validate.conformance.cases.DurationNotIn.val:type_name -> google.protobuf.Duration - 14, // 5: buf.validate.conformance.cases.DurationLT.val:type_name -> google.protobuf.Duration - 14, // 6: buf.validate.conformance.cases.DurationLTE.val:type_name -> google.protobuf.Duration - 14, // 7: buf.validate.conformance.cases.DurationGT.val:type_name -> google.protobuf.Duration - 14, // 8: buf.validate.conformance.cases.DurationGTE.val:type_name -> google.protobuf.Duration - 14, // 9: buf.validate.conformance.cases.DurationGTLT.val:type_name -> google.protobuf.Duration - 14, // 10: buf.validate.conformance.cases.DurationExLTGT.val:type_name -> google.protobuf.Duration - 14, // 11: buf.validate.conformance.cases.DurationGTELTE.val:type_name -> google.protobuf.Duration - 14, // 12: buf.validate.conformance.cases.DurationExGTELTE.val:type_name -> google.protobuf.Duration - 14, // 13: buf.validate.conformance.cases.DurationFieldWithOtherFields.duration_val:type_name -> google.protobuf.Duration - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 15, // 0: buf.validate.conformance.cases.DurationNone.val:type_name -> google.protobuf.Duration + 15, // 1: buf.validate.conformance.cases.DurationRequired.val:type_name -> google.protobuf.Duration + 15, // 2: buf.validate.conformance.cases.DurationConst.val:type_name -> google.protobuf.Duration + 15, // 3: buf.validate.conformance.cases.DurationIn.val:type_name -> google.protobuf.Duration + 15, // 4: buf.validate.conformance.cases.DurationNotIn.val:type_name -> google.protobuf.Duration + 15, // 5: buf.validate.conformance.cases.DurationLT.val:type_name -> google.protobuf.Duration + 15, // 6: buf.validate.conformance.cases.DurationLTE.val:type_name -> google.protobuf.Duration + 15, // 7: buf.validate.conformance.cases.DurationGT.val:type_name -> google.protobuf.Duration + 15, // 8: buf.validate.conformance.cases.DurationGTE.val:type_name -> google.protobuf.Duration + 15, // 9: buf.validate.conformance.cases.DurationGTLT.val:type_name -> google.protobuf.Duration + 15, // 10: buf.validate.conformance.cases.DurationExLTGT.val:type_name -> google.protobuf.Duration + 15, // 11: buf.validate.conformance.cases.DurationGTELTE.val:type_name -> google.protobuf.Duration + 15, // 12: buf.validate.conformance.cases.DurationExGTELTE.val:type_name -> google.protobuf.Duration + 15, // 13: buf.validate.conformance.cases.DurationFieldWithOtherFields.duration_val:type_name -> google.protobuf.Duration + 15, // 14: buf.validate.conformance.cases.DurationExample.val:type_name -> google.protobuf.Duration + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_buf_validate_conformance_cases_wkt_duration_proto_init() } @@ -1032,6 +1086,18 @@ func file_buf_validate_conformance_cases_wkt_duration_proto_init() { return nil } } + file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[14].Exporter = func(v any, i int) any { + switch v := v.(*DurationExample); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1039,7 +1105,7 @@ func file_buf_validate_conformance_cases_wkt_duration_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_buf_validate_conformance_cases_wkt_duration_proto_rawDesc, NumEnums: 0, - NumMessages: 14, + NumMessages: 15, NumExtensions: 0, NumServices: 0, }, diff --git a/tools/internal/gen/buf/validate/conformance/cases/wkt_timestamp.pb.go b/tools/internal/gen/buf/validate/conformance/cases/wkt_timestamp.pb.go index 329e0356..0e2dfc15 100644 --- a/tools/internal/gen/buf/validate/conformance/cases/wkt_timestamp.pb.go +++ b/tools/internal/gen/buf/validate/conformance/cases/wkt_timestamp.pb.go @@ -600,6 +600,53 @@ func (x *TimestampLTNow) GetVal() *timestamppb.Timestamp { return nil } +type TimestampNotLTNow struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *TimestampNotLTNow) Reset() { + *x = TimestampNotLTNow{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TimestampNotLTNow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimestampNotLTNow) ProtoMessage() {} + +func (x *TimestampNotLTNow) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_wkt_timestamp_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 TimestampNotLTNow.ProtoReflect.Descriptor instead. +func (*TimestampNotLTNow) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP(), []int{12} +} + +func (x *TimestampNotLTNow) GetVal() *timestamppb.Timestamp { + if x != nil { + return x.Val + } + return nil +} + type TimestampGTNow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -611,7 +658,7 @@ type TimestampGTNow struct { func (x *TimestampGTNow) Reset() { *x = TimestampGTNow{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[12] + mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -624,7 +671,7 @@ func (x *TimestampGTNow) String() string { func (*TimestampGTNow) ProtoMessage() {} func (x *TimestampGTNow) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[12] + mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -637,7 +684,7 @@ func (x *TimestampGTNow) ProtoReflect() protoreflect.Message { // Deprecated: Use TimestampGTNow.ProtoReflect.Descriptor instead. func (*TimestampGTNow) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP(), []int{12} + return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP(), []int{13} } func (x *TimestampGTNow) GetVal() *timestamppb.Timestamp { @@ -647,6 +694,53 @@ func (x *TimestampGTNow) GetVal() *timestamppb.Timestamp { return nil } +type TimestampNotGTNow struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *TimestampNotGTNow) Reset() { + *x = TimestampNotGTNow{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TimestampNotGTNow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimestampNotGTNow) ProtoMessage() {} + +func (x *TimestampNotGTNow) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_wkt_timestamp_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 TimestampNotGTNow.ProtoReflect.Descriptor instead. +func (*TimestampNotGTNow) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP(), []int{14} +} + +func (x *TimestampNotGTNow) GetVal() *timestamppb.Timestamp { + if x != nil { + return x.Val + } + return nil +} + type TimestampWithin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -658,7 +752,7 @@ type TimestampWithin struct { func (x *TimestampWithin) Reset() { *x = TimestampWithin{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[13] + mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -671,7 +765,7 @@ func (x *TimestampWithin) String() string { func (*TimestampWithin) ProtoMessage() {} func (x *TimestampWithin) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[13] + mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -684,7 +778,7 @@ func (x *TimestampWithin) ProtoReflect() protoreflect.Message { // Deprecated: Use TimestampWithin.ProtoReflect.Descriptor instead. func (*TimestampWithin) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP(), []int{13} + return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP(), []int{15} } func (x *TimestampWithin) GetVal() *timestamppb.Timestamp { @@ -705,7 +799,7 @@ type TimestampLTNowWithin struct { func (x *TimestampLTNowWithin) Reset() { *x = TimestampLTNowWithin{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[14] + mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -718,7 +812,7 @@ func (x *TimestampLTNowWithin) String() string { func (*TimestampLTNowWithin) ProtoMessage() {} func (x *TimestampLTNowWithin) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[14] + mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -731,7 +825,7 @@ func (x *TimestampLTNowWithin) ProtoReflect() protoreflect.Message { // Deprecated: Use TimestampLTNowWithin.ProtoReflect.Descriptor instead. func (*TimestampLTNowWithin) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP(), []int{14} + return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP(), []int{16} } func (x *TimestampLTNowWithin) GetVal() *timestamppb.Timestamp { @@ -752,7 +846,7 @@ type TimestampGTNowWithin struct { func (x *TimestampGTNowWithin) Reset() { *x = TimestampGTNowWithin{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[15] + mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -765,7 +859,7 @@ func (x *TimestampGTNowWithin) String() string { func (*TimestampGTNowWithin) ProtoMessage() {} func (x *TimestampGTNowWithin) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[15] + mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -778,7 +872,7 @@ func (x *TimestampGTNowWithin) ProtoReflect() protoreflect.Message { // Deprecated: Use TimestampGTNowWithin.ProtoReflect.Descriptor instead. func (*TimestampGTNowWithin) Descriptor() ([]byte, []int) { - return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP(), []int{15} + return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP(), []int{17} } func (x *TimestampGTNowWithin) GetVal() *timestamppb.Timestamp { @@ -788,6 +882,53 @@ func (x *TimestampGTNowWithin) GetVal() *timestamppb.Timestamp { return nil } +type TimestampExample struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` +} + +func (x *TimestampExample) Reset() { + *x = TimestampExample{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TimestampExample) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimestampExample) ProtoMessage() {} + +func (x *TimestampExample) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_conformance_cases_wkt_timestamp_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 TimestampExample.ProtoReflect.Descriptor instead. +func (*TimestampExample) Descriptor() ([]byte, []int) { + return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP(), []int{18} +} + +func (x *TimestampExample) GetVal() *timestamppb.Timestamp { + if x != nil { + return x.Val + } + return nil +} + var File_buf_validate_conformance_cases_wkt_timestamp_proto protoreflect.FileDescriptor var file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDesc = []byte{ @@ -856,46 +997,61 @@ var file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDesc = []byte{ 0x4e, 0x6f, 0x77, 0x12, 0x36, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xba, 0x48, - 0x05, 0xb2, 0x01, 0x02, 0x38, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x48, 0x0a, 0x0e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x47, 0x54, 0x4e, 0x6f, 0x77, 0x12, 0x36, 0x0a, - 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xba, 0x48, 0x05, 0xb2, 0x01, 0x02, 0x40, 0x01, - 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x4c, 0x0a, 0x0f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x12, 0x39, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x42, 0x0b, 0xba, 0x48, 0x08, 0xb2, 0x01, 0x05, 0x4a, 0x03, 0x08, 0x90, 0x1c, 0x52, 0x03, - 0x76, 0x61, 0x6c, 0x22, 0x53, 0x0a, 0x14, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x4c, 0x54, 0x4e, 0x6f, 0x77, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x12, 0x3b, 0x0a, 0x03, 0x76, + 0x05, 0xb2, 0x01, 0x02, 0x38, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x4b, 0x0a, 0x11, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x6f, 0x74, 0x4c, 0x54, 0x4e, 0x6f, 0x77, + 0x12, 0x36, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xba, 0x48, 0x05, 0xb2, 0x01, + 0x02, 0x38, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x48, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x47, 0x54, 0x4e, 0x6f, 0x77, 0x12, 0x36, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x08, 0xba, 0x48, 0x05, 0xb2, 0x01, 0x02, 0x40, 0x01, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x4b, 0x0a, 0x11, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, + 0x6f, 0x74, 0x47, 0x54, 0x4e, 0x6f, 0x77, 0x12, 0x36, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x08, 0xba, 0x48, 0x05, 0xb2, 0x01, 0x02, 0x40, 0x00, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, + 0x4c, 0x0a, 0x0f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x57, 0x69, 0x74, 0x68, + 0x69, 0x6e, 0x12, 0x39, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0b, 0xba, 0x48, 0x08, + 0xb2, 0x01, 0x05, 0x4a, 0x03, 0x08, 0x90, 0x1c, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x53, 0x0a, + 0x14, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4c, 0x54, 0x4e, 0x6f, 0x77, 0x57, + 0x69, 0x74, 0x68, 0x69, 0x6e, 0x12, 0x3b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, + 0xba, 0x48, 0x0a, 0xb2, 0x01, 0x07, 0x4a, 0x03, 0x08, 0x90, 0x1c, 0x38, 0x01, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x22, 0x53, 0x0a, 0x14, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x47, + 0x54, 0x4e, 0x6f, 0x77, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x12, 0x3b, 0x0a, 0x03, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0xb2, 0x01, 0x07, 0x4a, 0x03, 0x08, 0x90, 0x1c, + 0x40, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x4c, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0xb2, 0x01, 0x07, 0x4a, 0x03, 0x08, 0x90, - 0x1c, 0x38, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x53, 0x0a, 0x14, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x47, 0x54, 0x4e, 0x6f, 0x77, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, - 0x12, 0x3b, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0xb2, 0x01, - 0x07, 0x4a, 0x03, 0x08, 0x90, 0x1c, 0x40, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x42, 0xa8, 0x02, - 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, - 0x61, 0x73, 0x65, 0x73, 0x42, 0x11, 0x57, 0x6b, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, - 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, - 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, - 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, - 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, - 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, - 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0a, 0xba, 0x48, 0x07, 0xb2, 0x01, 0x04, 0x52, 0x02, 0x08, 0x03, + 0x52, 0x03, 0x76, 0x61, 0x6c, 0x42, 0xa8, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, + 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x73, 0x42, 0x11, 0x57, 0x6b, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, + 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, + 0x2f, 0x63, 0x61, 0x73, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x43, 0xaa, 0x02, 0x1e, + 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, 0xca, 0x02, + 0x1e, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, 0xe2, + 0x02, 0x2a, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, + 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x43, 0x61, 0x73, 0x65, 0x73, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x42, + 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x3a, 0x43, 0x6f, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x43, 0x61, 0x73, 0x65, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -910,7 +1066,7 @@ func file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescGZIP() []byt return file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDescData } -var file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_buf_validate_conformance_cases_wkt_timestamp_proto_goTypes = []any{ (*TimestampNone)(nil), // 0: buf.validate.conformance.cases.TimestampNone (*TimestampRequired)(nil), // 1: buf.validate.conformance.cases.TimestampRequired @@ -924,34 +1080,40 @@ var file_buf_validate_conformance_cases_wkt_timestamp_proto_goTypes = []any{ (*TimestampGTELTE)(nil), // 9: buf.validate.conformance.cases.TimestampGTELTE (*TimestampExGTELTE)(nil), // 10: buf.validate.conformance.cases.TimestampExGTELTE (*TimestampLTNow)(nil), // 11: buf.validate.conformance.cases.TimestampLTNow - (*TimestampGTNow)(nil), // 12: buf.validate.conformance.cases.TimestampGTNow - (*TimestampWithin)(nil), // 13: buf.validate.conformance.cases.TimestampWithin - (*TimestampLTNowWithin)(nil), // 14: buf.validate.conformance.cases.TimestampLTNowWithin - (*TimestampGTNowWithin)(nil), // 15: buf.validate.conformance.cases.TimestampGTNowWithin - (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp + (*TimestampNotLTNow)(nil), // 12: buf.validate.conformance.cases.TimestampNotLTNow + (*TimestampGTNow)(nil), // 13: buf.validate.conformance.cases.TimestampGTNow + (*TimestampNotGTNow)(nil), // 14: buf.validate.conformance.cases.TimestampNotGTNow + (*TimestampWithin)(nil), // 15: buf.validate.conformance.cases.TimestampWithin + (*TimestampLTNowWithin)(nil), // 16: buf.validate.conformance.cases.TimestampLTNowWithin + (*TimestampGTNowWithin)(nil), // 17: buf.validate.conformance.cases.TimestampGTNowWithin + (*TimestampExample)(nil), // 18: buf.validate.conformance.cases.TimestampExample + (*timestamppb.Timestamp)(nil), // 19: google.protobuf.Timestamp } var file_buf_validate_conformance_cases_wkt_timestamp_proto_depIdxs = []int32{ - 16, // 0: buf.validate.conformance.cases.TimestampNone.val:type_name -> google.protobuf.Timestamp - 16, // 1: buf.validate.conformance.cases.TimestampRequired.val:type_name -> google.protobuf.Timestamp - 16, // 2: buf.validate.conformance.cases.TimestampConst.val:type_name -> google.protobuf.Timestamp - 16, // 3: buf.validate.conformance.cases.TimestampLT.val:type_name -> google.protobuf.Timestamp - 16, // 4: buf.validate.conformance.cases.TimestampLTE.val:type_name -> google.protobuf.Timestamp - 16, // 5: buf.validate.conformance.cases.TimestampGT.val:type_name -> google.protobuf.Timestamp - 16, // 6: buf.validate.conformance.cases.TimestampGTE.val:type_name -> google.protobuf.Timestamp - 16, // 7: buf.validate.conformance.cases.TimestampGTLT.val:type_name -> google.protobuf.Timestamp - 16, // 8: buf.validate.conformance.cases.TimestampExLTGT.val:type_name -> google.protobuf.Timestamp - 16, // 9: buf.validate.conformance.cases.TimestampGTELTE.val:type_name -> google.protobuf.Timestamp - 16, // 10: buf.validate.conformance.cases.TimestampExGTELTE.val:type_name -> google.protobuf.Timestamp - 16, // 11: buf.validate.conformance.cases.TimestampLTNow.val:type_name -> google.protobuf.Timestamp - 16, // 12: buf.validate.conformance.cases.TimestampGTNow.val:type_name -> google.protobuf.Timestamp - 16, // 13: buf.validate.conformance.cases.TimestampWithin.val:type_name -> google.protobuf.Timestamp - 16, // 14: buf.validate.conformance.cases.TimestampLTNowWithin.val:type_name -> google.protobuf.Timestamp - 16, // 15: buf.validate.conformance.cases.TimestampGTNowWithin.val:type_name -> google.protobuf.Timestamp - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 19, // 0: buf.validate.conformance.cases.TimestampNone.val:type_name -> google.protobuf.Timestamp + 19, // 1: buf.validate.conformance.cases.TimestampRequired.val:type_name -> google.protobuf.Timestamp + 19, // 2: buf.validate.conformance.cases.TimestampConst.val:type_name -> google.protobuf.Timestamp + 19, // 3: buf.validate.conformance.cases.TimestampLT.val:type_name -> google.protobuf.Timestamp + 19, // 4: buf.validate.conformance.cases.TimestampLTE.val:type_name -> google.protobuf.Timestamp + 19, // 5: buf.validate.conformance.cases.TimestampGT.val:type_name -> google.protobuf.Timestamp + 19, // 6: buf.validate.conformance.cases.TimestampGTE.val:type_name -> google.protobuf.Timestamp + 19, // 7: buf.validate.conformance.cases.TimestampGTLT.val:type_name -> google.protobuf.Timestamp + 19, // 8: buf.validate.conformance.cases.TimestampExLTGT.val:type_name -> google.protobuf.Timestamp + 19, // 9: buf.validate.conformance.cases.TimestampGTELTE.val:type_name -> google.protobuf.Timestamp + 19, // 10: buf.validate.conformance.cases.TimestampExGTELTE.val:type_name -> google.protobuf.Timestamp + 19, // 11: buf.validate.conformance.cases.TimestampLTNow.val:type_name -> google.protobuf.Timestamp + 19, // 12: buf.validate.conformance.cases.TimestampNotLTNow.val:type_name -> google.protobuf.Timestamp + 19, // 13: buf.validate.conformance.cases.TimestampGTNow.val:type_name -> google.protobuf.Timestamp + 19, // 14: buf.validate.conformance.cases.TimestampNotGTNow.val:type_name -> google.protobuf.Timestamp + 19, // 15: buf.validate.conformance.cases.TimestampWithin.val:type_name -> google.protobuf.Timestamp + 19, // 16: buf.validate.conformance.cases.TimestampLTNowWithin.val:type_name -> google.protobuf.Timestamp + 19, // 17: buf.validate.conformance.cases.TimestampGTNowWithin.val:type_name -> google.protobuf.Timestamp + 19, // 18: buf.validate.conformance.cases.TimestampExample.val:type_name -> google.protobuf.Timestamp + 19, // [19:19] is the sub-list for method output_type + 19, // [19:19] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_buf_validate_conformance_cases_wkt_timestamp_proto_init() } @@ -1105,7 +1267,7 @@ func file_buf_validate_conformance_cases_wkt_timestamp_proto_init() { } } file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[12].Exporter = func(v any, i int) any { - switch v := v.(*TimestampGTNow); i { + switch v := v.(*TimestampNotLTNow); i { case 0: return &v.state case 1: @@ -1117,7 +1279,7 @@ func file_buf_validate_conformance_cases_wkt_timestamp_proto_init() { } } file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[13].Exporter = func(v any, i int) any { - switch v := v.(*TimestampWithin); i { + switch v := v.(*TimestampGTNow); i { case 0: return &v.state case 1: @@ -1129,7 +1291,7 @@ func file_buf_validate_conformance_cases_wkt_timestamp_proto_init() { } } file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[14].Exporter = func(v any, i int) any { - switch v := v.(*TimestampLTNowWithin); i { + switch v := v.(*TimestampNotGTNow); i { case 0: return &v.state case 1: @@ -1141,6 +1303,30 @@ func file_buf_validate_conformance_cases_wkt_timestamp_proto_init() { } } file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[15].Exporter = func(v any, i int) any { + switch v := v.(*TimestampWithin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[16].Exporter = func(v any, i int) any { + switch v := v.(*TimestampLTNowWithin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[17].Exporter = func(v any, i int) any { switch v := v.(*TimestampGTNowWithin); i { case 0: return &v.state @@ -1152,6 +1338,18 @@ func file_buf_validate_conformance_cases_wkt_timestamp_proto_init() { return nil } } + file_buf_validate_conformance_cases_wkt_timestamp_proto_msgTypes[18].Exporter = func(v any, i int) any { + switch v := v.(*TimestampExample); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1159,7 +1357,7 @@ func file_buf_validate_conformance_cases_wkt_timestamp_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_buf_validate_conformance_cases_wkt_timestamp_proto_rawDesc, NumEnums: 0, - NumMessages: 16, + NumMessages: 19, NumExtensions: 0, NumServices: 0, }, diff --git a/tools/internal/gen/buf/validate/conformance/harness/harness.pb.go b/tools/internal/gen/buf/validate/conformance/harness/harness.pb.go index b8571e54..0c68304d 100644 --- a/tools/internal/gen/buf/validate/conformance/harness/harness.pb.go +++ b/tools/internal/gen/buf/validate/conformance/harness/harness.pb.go @@ -281,78 +281,78 @@ var file_buf_validate_conformance_harness_harness_proto_rawDesc = []byte{ 0x73, 0x73, 0x2f, 0x68, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x68, 0x61, 0x72, 0x6e, 0x65, - 0x73, 0x73, 0x1a, 0x1d, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x22, 0xfd, - 0x01, 0x0a, 0x16, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x66, 0x64, 0x73, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x52, 0x05, 0x66, 0x64, - 0x73, 0x65, 0x74, 0x12, 0x59, 0x0a, 0x05, 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x68, 0x61, - 0x72, 0x6e, 0x65, 0x73, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x73, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x63, 0x61, 0x73, 0x65, 0x73, 0x1a, 0x4e, - 0x0a, 0x0a, 0x43, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe5, - 0x01, 0x0a, 0x17, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x07, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x62, 0x75, + 0x73, 0x73, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x22, 0xfd, 0x01, 0x0a, + 0x16, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x66, 0x64, 0x73, 0x65, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x52, 0x05, 0x66, 0x64, 0x73, 0x65, + 0x74, 0x12, 0x59, 0x0a, 0x05, 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x43, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x68, 0x61, 0x72, 0x6e, + 0x65, 0x73, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x63, 0x61, 0x73, 0x65, 0x73, 0x1a, 0x4e, 0x0a, 0x0a, + 0x43, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe5, 0x01, 0x0a, + 0x17, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x62, 0x75, 0x66, 0x2e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x68, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x68, 0x0a, 0x0c, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x68, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x2e, 0x54, - 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x68, 0x0a, 0x0c, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x68, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfc, 0x01, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x45, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, - 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2b, - 0x0a, 0x10, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x65, 0x78, - 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0xaf, 0x02, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x68, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x42, 0x0c, - 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x55, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x68, 0x61, - 0x72, 0x6e, 0x65, 0x73, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x48, 0xaa, 0x02, 0x20, 0x42, - 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0xca, - 0x02, 0x20, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, - 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x48, 0x61, 0x72, 0x6e, 0x65, - 0x73, 0x73, 0xe2, 0x02, 0x2c, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x48, 0x61, - 0x72, 0x6e, 0x65, 0x73, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x23, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, - 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfc, 0x01, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x45, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, + 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x10, + 0x75, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x42, 0xaf, 0x02, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x68, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x42, 0x0c, 0x48, 0x61, + 0x72, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x55, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x68, 0x61, 0x72, 0x6e, + 0x65, 0x73, 0x73, 0xa2, 0x02, 0x04, 0x42, 0x56, 0x43, 0x48, 0xaa, 0x02, 0x20, 0x42, 0x75, 0x66, + 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0xca, 0x02, 0x20, + 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x43, 0x6f, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, + 0xe2, 0x02, 0x2c, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, + 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x48, 0x61, 0x72, 0x6e, + 0x65, 0x73, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x23, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, + 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x48, 0x61, + 0x72, 0x6e, 0x65, 0x73, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/tools/internal/gen/buf/validate/expression.pb.go b/tools/internal/gen/buf/validate/expression.pb.go deleted file mode 100644 index ab1c67a5..00000000 --- a/tools/internal/gen/buf/validate/expression.pb.go +++ /dev/null @@ -1,397 +0,0 @@ -// Copyright 2023 Buf Technologies, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.34.2 -// protoc (unknown) -// source: buf/validate/expression.proto - -package validate - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - 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) -) - -// `Constraint` represents a validation rule written in the Common Expression -// Language (CEL) syntax. Each Constraint includes a unique identifier, an -// optional error message, and the CEL expression to evaluate. For more -// information on CEL, [see our documentation](https://github.com/bufbuild/protovalidate/blob/main/docs/cel.md). -// -// ```proto -// -// message Foo { -// option (buf.validate.message).cel = { -// id: "foo.bar" -// message: "bar must be greater than 0" -// expression: "this.bar > 0" -// }; -// int32 bar = 1; -// } -// -// ``` -type Constraint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // `id` is a string that serves as a machine-readable name for this Constraint. - // It should be unique within its scope, which could be either a message or a field. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // `message` is an optional field that provides a human-readable error message - // for this Constraint when the CEL expression evaluates to false. If a - // non-empty message is provided, any strings resulting from the CEL - // expression evaluation are ignored. - Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` - // `expression` is the actual CEL expression that will be evaluated for - // validation. This string must resolve to either a boolean or a string - // value. If the expression evaluates to false or a non-empty string, the - // validation is considered failed, and the message is rejected. - Expression string `protobuf:"bytes,3,opt,name=expression,proto3" json:"expression,omitempty"` -} - -func (x *Constraint) Reset() { - *x = Constraint{} - if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_expression_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Constraint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Constraint) ProtoMessage() {} - -func (x *Constraint) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_expression_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 Constraint.ProtoReflect.Descriptor instead. -func (*Constraint) Descriptor() ([]byte, []int) { - return file_buf_validate_expression_proto_rawDescGZIP(), []int{0} -} - -func (x *Constraint) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Constraint) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -func (x *Constraint) GetExpression() string { - if x != nil { - return x.Expression - } - return "" -} - -// `Violations` is a collection of `Violation` messages. This message type is returned by -// protovalidate when a proto message fails to meet the requirements set by the `Constraint` validation rules. -// Each individual violation is represented by a `Violation` message. -type Violations struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // `violations` is a repeated field that contains all the `Violation` messages corresponding to the violations detected. - Violations []*Violation `protobuf:"bytes,1,rep,name=violations,proto3" json:"violations,omitempty"` -} - -func (x *Violations) Reset() { - *x = Violations{} - if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_expression_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Violations) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Violations) ProtoMessage() {} - -func (x *Violations) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_expression_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 Violations.ProtoReflect.Descriptor instead. -func (*Violations) Descriptor() ([]byte, []int) { - return file_buf_validate_expression_proto_rawDescGZIP(), []int{1} -} - -func (x *Violations) GetViolations() []*Violation { - if x != nil { - return x.Violations - } - return nil -} - -// `Violation` represents a single instance where a validation rule, expressed -// as a `Constraint`, was not met. It provides information about the field that -// caused the violation, the specific constraint that wasn't fulfilled, and a -// human-readable error message. -// -// ```json -// -// { -// "fieldPath": "bar", -// "constraintId": "foo.bar", -// "message": "bar must be greater than 0" -// } -// -// ``` -type Violation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // `field_path` is a machine-readable identifier that points to the specific field that failed the validation. - // This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation. - FieldPath string `protobuf:"bytes,1,opt,name=field_path,json=fieldPath,proto3" json:"field_path,omitempty"` - // `constraint_id` is the unique identifier of the `Constraint` that was not fulfilled. - // This is the same `id` that was specified in the `Constraint` message, allowing easy tracing of which rule was violated. - ConstraintId string `protobuf:"bytes,2,opt,name=constraint_id,json=constraintId,proto3" json:"constraint_id,omitempty"` - // `message` is a human-readable error message that describes the nature of the violation. - // This can be the default error message from the violated `Constraint`, or it can be a custom message that gives more context about the violation. - Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` - // `for_key` indicates whether the violation was caused by a map key, rather than a value. - ForKey bool `protobuf:"varint,4,opt,name=for_key,json=forKey,proto3" json:"for_key,omitempty"` -} - -func (x *Violation) Reset() { - *x = Violation{} - if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_expression_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Violation) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Violation) ProtoMessage() {} - -func (x *Violation) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_expression_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 Violation.ProtoReflect.Descriptor instead. -func (*Violation) Descriptor() ([]byte, []int) { - return file_buf_validate_expression_proto_rawDescGZIP(), []int{2} -} - -func (x *Violation) GetFieldPath() string { - if x != nil { - return x.FieldPath - } - return "" -} - -func (x *Violation) GetConstraintId() string { - if x != nil { - return x.ConstraintId - } - return "" -} - -func (x *Violation) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -func (x *Violation) GetForKey() bool { - if x != nil { - return x.ForKey - } - return false -} - -var File_buf_validate_expression_proto protoreflect.FileDescriptor - -var file_buf_validate_expression_proto_rawDesc = []byte{ - 0x0a, 0x1d, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x65, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x0c, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x22, 0x56, 0x0a, - 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x0a, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x82, 0x01, 0x0a, - 0x09, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x4b, 0x65, - 0x79, 0x42, 0xb7, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x0f, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, 0x6f, - 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0xa2, 0x02, 0x03, 0x42, - 0x56, 0x58, 0xaa, 0x02, 0x0c, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0xca, 0x02, 0x0c, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0xe2, 0x02, 0x18, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0d, 0x42, 0x75, - 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, -} - -var ( - file_buf_validate_expression_proto_rawDescOnce sync.Once - file_buf_validate_expression_proto_rawDescData = file_buf_validate_expression_proto_rawDesc -) - -func file_buf_validate_expression_proto_rawDescGZIP() []byte { - file_buf_validate_expression_proto_rawDescOnce.Do(func() { - file_buf_validate_expression_proto_rawDescData = protoimpl.X.CompressGZIP(file_buf_validate_expression_proto_rawDescData) - }) - return file_buf_validate_expression_proto_rawDescData -} - -var file_buf_validate_expression_proto_msgTypes = make([]protoimpl.MessageInfo, 3) -var file_buf_validate_expression_proto_goTypes = []any{ - (*Constraint)(nil), // 0: buf.validate.Constraint - (*Violations)(nil), // 1: buf.validate.Violations - (*Violation)(nil), // 2: buf.validate.Violation -} -var file_buf_validate_expression_proto_depIdxs = []int32{ - 2, // 0: buf.validate.Violations.violations:type_name -> buf.validate.Violation - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name -} - -func init() { file_buf_validate_expression_proto_init() } -func file_buf_validate_expression_proto_init() { - if File_buf_validate_expression_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_buf_validate_expression_proto_msgTypes[0].Exporter = func(v any, i int) any { - switch v := v.(*Constraint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_buf_validate_expression_proto_msgTypes[1].Exporter = func(v any, i int) any { - switch v := v.(*Violations); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_buf_validate_expression_proto_msgTypes[2].Exporter = func(v any, i int) any { - switch v := v.(*Violation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_buf_validate_expression_proto_rawDesc, - NumEnums: 0, - NumMessages: 3, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_buf_validate_expression_proto_goTypes, - DependencyIndexes: file_buf_validate_expression_proto_depIdxs, - MessageInfos: file_buf_validate_expression_proto_msgTypes, - }.Build() - File_buf_validate_expression_proto = out.File - file_buf_validate_expression_proto_rawDesc = nil - file_buf_validate_expression_proto_goTypes = nil - file_buf_validate_expression_proto_depIdxs = nil -} diff --git a/tools/internal/gen/buf/validate/priv/private.pb.go b/tools/internal/gen/buf/validate/priv/private.pb.go deleted file mode 100644 index 9364cee4..00000000 --- a/tools/internal/gen/buf/validate/priv/private.pb.go +++ /dev/null @@ -1,288 +0,0 @@ -// Copyright 2023 Buf Technologies, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.34.2 -// protoc (unknown) -// source: buf/validate/priv/private.proto - -package priv - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - descriptorpb "google.golang.org/protobuf/types/descriptorpb" - 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) -) - -// Do not use. Internal to protovalidate library -type FieldConstraints struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Cel []*Constraint `protobuf:"bytes,1,rep,name=cel,proto3" json:"cel,omitempty"` -} - -func (x *FieldConstraints) Reset() { - *x = FieldConstraints{} - if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_priv_private_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FieldConstraints) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FieldConstraints) ProtoMessage() {} - -func (x *FieldConstraints) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_priv_private_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 FieldConstraints.ProtoReflect.Descriptor instead. -func (*FieldConstraints) Descriptor() ([]byte, []int) { - return file_buf_validate_priv_private_proto_rawDescGZIP(), []int{0} -} - -func (x *FieldConstraints) GetCel() []*Constraint { - if x != nil { - return x.Cel - } - return nil -} - -// Do not use. Internal to protovalidate library -type Constraint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` - Expression string `protobuf:"bytes,3,opt,name=expression,proto3" json:"expression,omitempty"` -} - -func (x *Constraint) Reset() { - *x = Constraint{} - if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_priv_private_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Constraint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Constraint) ProtoMessage() {} - -func (x *Constraint) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_priv_private_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 Constraint.ProtoReflect.Descriptor instead. -func (*Constraint) Descriptor() ([]byte, []int) { - return file_buf_validate_priv_private_proto_rawDescGZIP(), []int{1} -} - -func (x *Constraint) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Constraint) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -func (x *Constraint) GetExpression() string { - if x != nil { - return x.Expression - } - return "" -} - -var file_buf_validate_priv_private_proto_extTypes = []protoimpl.ExtensionInfo{ - { - ExtendedType: (*descriptorpb.FieldOptions)(nil), - ExtensionType: (*FieldConstraints)(nil), - Field: 1160, - Name: "buf.validate.priv.field", - Tag: "bytes,1160,opt,name=field", - Filename: "buf/validate/priv/private.proto", - }, -} - -// Extension fields to descriptorpb.FieldOptions. -var ( - // Do not use. Internal to protovalidate library - // - // optional buf.validate.priv.FieldConstraints field = 1160; - E_Field = &file_buf_validate_priv_private_proto_extTypes[0] -) - -var File_buf_validate_priv_private_proto protoreflect.FileDescriptor - -var file_buf_validate_priv_private_proto_rawDesc = []byte{ - 0x0a, 0x1f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x70, - 0x72, 0x69, 0x76, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x11, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x70, 0x72, 0x69, 0x76, 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, 0x22, 0x43, 0x0a, 0x10, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x03, 0x63, 0x65, - 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x2e, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x03, 0x63, 0x65, 0x6c, 0x22, 0x56, 0x0a, 0x0a, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x3a, 0x5c, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 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, 0x88, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, - 0x01, 0x42, 0xd3, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x42, 0x0c, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, - 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, - 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x70, - 0x72, 0x69, 0x76, 0xa2, 0x02, 0x03, 0x42, 0x56, 0x50, 0xaa, 0x02, 0x11, 0x42, 0x75, 0x66, 0x2e, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x72, 0x69, 0x76, 0xca, 0x02, 0x11, - 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5c, 0x50, 0x72, 0x69, - 0x76, 0xe2, 0x02, 0x1d, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x5c, 0x50, 0x72, 0x69, 0x76, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x13, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x3a, 0x3a, 0x50, 0x72, 0x69, 0x76, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_buf_validate_priv_private_proto_rawDescOnce sync.Once - file_buf_validate_priv_private_proto_rawDescData = file_buf_validate_priv_private_proto_rawDesc -) - -func file_buf_validate_priv_private_proto_rawDescGZIP() []byte { - file_buf_validate_priv_private_proto_rawDescOnce.Do(func() { - file_buf_validate_priv_private_proto_rawDescData = protoimpl.X.CompressGZIP(file_buf_validate_priv_private_proto_rawDescData) - }) - return file_buf_validate_priv_private_proto_rawDescData -} - -var file_buf_validate_priv_private_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_buf_validate_priv_private_proto_goTypes = []any{ - (*FieldConstraints)(nil), // 0: buf.validate.priv.FieldConstraints - (*Constraint)(nil), // 1: buf.validate.priv.Constraint - (*descriptorpb.FieldOptions)(nil), // 2: google.protobuf.FieldOptions -} -var file_buf_validate_priv_private_proto_depIdxs = []int32{ - 1, // 0: buf.validate.priv.FieldConstraints.cel:type_name -> buf.validate.priv.Constraint - 2, // 1: buf.validate.priv.field:extendee -> google.protobuf.FieldOptions - 0, // 2: buf.validate.priv.field:type_name -> buf.validate.priv.FieldConstraints - 3, // [3:3] is the sub-list for method output_type - 3, // [3:3] is the sub-list for method input_type - 2, // [2:3] is the sub-list for extension type_name - 1, // [1:2] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name -} - -func init() { file_buf_validate_priv_private_proto_init() } -func file_buf_validate_priv_private_proto_init() { - if File_buf_validate_priv_private_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_buf_validate_priv_private_proto_msgTypes[0].Exporter = func(v any, i int) any { - switch v := v.(*FieldConstraints); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_buf_validate_priv_private_proto_msgTypes[1].Exporter = func(v any, i int) any { - switch v := v.(*Constraint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_buf_validate_priv_private_proto_rawDesc, - NumEnums: 0, - NumMessages: 2, - NumExtensions: 1, - NumServices: 0, - }, - GoTypes: file_buf_validate_priv_private_proto_goTypes, - DependencyIndexes: file_buf_validate_priv_private_proto_depIdxs, - MessageInfos: file_buf_validate_priv_private_proto_msgTypes, - ExtensionInfos: file_buf_validate_priv_private_proto_extTypes, - }.Build() - File_buf_validate_priv_private_proto = out.File - file_buf_validate_priv_private_proto_rawDesc = nil - file_buf_validate_priv_private_proto_goTypes = nil - file_buf_validate_priv_private_proto_depIdxs = nil -} diff --git a/tools/internal/gen/buf/validate/validate.pb.go b/tools/internal/gen/buf/validate/validate.pb.go index 3c1ad0b7..519fc020 100644 --- a/tools/internal/gen/buf/validate/validate.pb.go +++ b/tools/internal/gen/buf/validate/validate.pb.go @@ -21,7 +21,6 @@ package validate import ( - _ "github.com/bufbuild/protovalidate/tools/internal/gen/buf/validate/priv" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" descriptorpb "google.golang.org/protobuf/types/descriptorpb" @@ -239,6 +238,16 @@ func (x Ignore) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } +// Deprecated: Do not use. +func (x *Ignore) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = Ignore(num) + return nil +} + // Deprecated: Use Ignore.Descriptor instead. func (Ignore) EnumDescriptor() ([]byte, []int) { return file_buf_validate_validate_proto_rawDescGZIP(), []int{0} @@ -291,11 +300,111 @@ 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_buf_validate_validate_proto_rawDescGZIP(), []int{1} } +// `Constraint` represents a validation rule written in the Common Expression +// Language (CEL) syntax. Each Constraint includes a unique identifier, an +// optional error message, and the CEL expression to evaluate. For more +// information on CEL, [see our documentation](https://github.com/bufbuild/protovalidate/blob/main/docs/cel.md). +// +// ```proto +// +// message Foo { +// option (buf.validate.message).cel = { +// id: "foo.bar" +// message: "bar must be greater than 0" +// expression: "this.bar > 0" +// }; +// int32 bar = 1; +// } +// +// ``` +type Constraint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // `id` is a string that serves as a machine-readable name for this Constraint. + // It should be unique within its scope, which could be either a message or a field. + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + // `message` is an optional field that provides a human-readable error message + // for this Constraint when the CEL expression evaluates to false. If a + // non-empty message is provided, any strings resulting from the CEL + // expression evaluation are ignored. + Message *string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` + // `expression` is the actual CEL expression that will be evaluated for + // validation. This string must resolve to either a boolean or a string + // value. If the expression evaluates to false or a non-empty string, the + // validation is considered failed, and the message is rejected. + Expression *string `protobuf:"bytes,3,opt,name=expression" json:"expression,omitempty"` +} + +func (x *Constraint) Reset() { + *x = Constraint{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_validate_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Constraint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Constraint) ProtoMessage() {} + +func (x *Constraint) ProtoReflect() protoreflect.Message { + mi := &file_buf_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 Constraint.ProtoReflect.Descriptor instead. +func (*Constraint) Descriptor() ([]byte, []int) { + return file_buf_validate_validate_proto_rawDescGZIP(), []int{0} +} + +func (x *Constraint) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *Constraint) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *Constraint) GetExpression() string { + if x != nil && x.Expression != nil { + return *x.Expression + } + return "" +} + // MessageConstraints represents validation rules that are applied to the entire message. // It includes disabling options and a list of Constraint messages representing Common Expression Language (CEL) validation rules. type MessageConstraints struct { @@ -314,7 +423,7 @@ type MessageConstraints struct { // } // // ``` - Disabled *bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof" json:"disabled,omitempty"` + Disabled *bool `protobuf:"varint,1,opt,name=disabled" json:"disabled,omitempty"` // `cel` is a repeated field of type Constraint. Each Constraint specifies a validation rule to be applied to this message. // These constraints are written in Common Expression Language (CEL) syntax. For more information on // CEL, [see our documentation](https://github.com/bufbuild/protovalidate/blob/main/docs/cel.md). @@ -332,13 +441,13 @@ type MessageConstraints struct { // } // // ``` - Cel []*Constraint `protobuf:"bytes,3,rep,name=cel,proto3" json:"cel,omitempty"` + Cel []*Constraint `protobuf:"bytes,3,rep,name=cel" json:"cel,omitempty"` } func (x *MessageConstraints) Reset() { *x = MessageConstraints{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[0] + mi := &file_buf_validate_validate_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -351,7 +460,7 @@ func (x *MessageConstraints) String() string { func (*MessageConstraints) ProtoMessage() {} func (x *MessageConstraints) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[0] + mi := &file_buf_validate_validate_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -364,7 +473,7 @@ func (x *MessageConstraints) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageConstraints.ProtoReflect.Descriptor instead. func (*MessageConstraints) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{0} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{1} } func (x *MessageConstraints) GetDisabled() bool { @@ -407,13 +516,13 @@ type OneofConstraints struct { // } // // ``` - Required *bool `protobuf:"varint,1,opt,name=required,proto3,oneof" json:"required,omitempty"` + Required *bool `protobuf:"varint,1,opt,name=required" json:"required,omitempty"` } func (x *OneofConstraints) Reset() { *x = OneofConstraints{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[1] + mi := &file_buf_validate_validate_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -426,7 +535,7 @@ func (x *OneofConstraints) String() string { func (*OneofConstraints) ProtoMessage() {} func (x *OneofConstraints) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[1] + mi := &file_buf_validate_validate_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -439,7 +548,7 @@ func (x *OneofConstraints) ProtoReflect() protoreflect.Message { // Deprecated: Use OneofConstraints.ProtoReflect.Descriptor instead. func (*OneofConstraints) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{1} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{2} } func (x *OneofConstraints) GetRequired() bool { @@ -472,7 +581,7 @@ type FieldConstraints struct { // } // // ``` - Cel []*Constraint `protobuf:"bytes,23,rep,name=cel,proto3" json:"cel,omitempty"` + Cel []*Constraint `protobuf:"bytes,23,rep,name=cel" json:"cel,omitempty"` // If `required` is true, the field must be populated. A populated field can be // described as "serialized in the wire format," which includes: // @@ -493,7 +602,7 @@ type FieldConstraints struct { // } // // ``` - Required bool `protobuf:"varint,25,opt,name=required,proto3" json:"required,omitempty"` + Required *bool `protobuf:"varint,25,opt,name=required" json:"required,omitempty"` // Skip validation on the field if its value matches the specified criteria. // See Ignore enum for details. // @@ -509,7 +618,7 @@ type FieldConstraints struct { // } // // ``` - Ignore Ignore `protobuf:"varint,27,opt,name=ignore,proto3,enum=buf.validate.Ignore" json:"ignore,omitempty"` + Ignore *Ignore `protobuf:"varint,27,opt,name=ignore,enum=buf.validate.Ignore" json:"ignore,omitempty"` // Types that are assignable to Type: // // *FieldConstraints_Float @@ -537,17 +646,17 @@ type FieldConstraints struct { // DEPRECATED: use ignore=IGNORE_ALWAYS instead. TODO: remove this field pre-v1. // // Deprecated: Marked as deprecated in buf/validate/validate.proto. - Skipped bool `protobuf:"varint,24,opt,name=skipped,proto3" json:"skipped,omitempty"` + Skipped *bool `protobuf:"varint,24,opt,name=skipped" json:"skipped,omitempty"` // DEPRECATED: use ignore=IGNORE_IF_UNPOPULATED instead. TODO: remove this field pre-v1. // // Deprecated: Marked as deprecated in buf/validate/validate.proto. - IgnoreEmpty bool `protobuf:"varint,26,opt,name=ignore_empty,json=ignoreEmpty,proto3" json:"ignore_empty,omitempty"` + IgnoreEmpty *bool `protobuf:"varint,26,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` } func (x *FieldConstraints) Reset() { *x = FieldConstraints{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[2] + mi := &file_buf_validate_validate_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -560,7 +669,7 @@ func (x *FieldConstraints) String() string { func (*FieldConstraints) ProtoMessage() {} func (x *FieldConstraints) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[2] + mi := &file_buf_validate_validate_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -573,7 +682,7 @@ func (x *FieldConstraints) ProtoReflect() protoreflect.Message { // Deprecated: Use FieldConstraints.ProtoReflect.Descriptor instead. func (*FieldConstraints) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{2} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{3} } func (x *FieldConstraints) GetCel() []*Constraint { @@ -584,15 +693,15 @@ func (x *FieldConstraints) GetCel() []*Constraint { } func (x *FieldConstraints) GetRequired() bool { - if x != nil { - return x.Required + if x != nil && x.Required != nil { + return *x.Required } return false } func (x *FieldConstraints) GetIgnore() Ignore { - if x != nil { - return x.Ignore + if x != nil && x.Ignore != nil { + return *x.Ignore } return Ignore_IGNORE_UNSPECIFIED } @@ -753,16 +862,16 @@ func (x *FieldConstraints) GetTimestamp() *TimestampRules { // Deprecated: Marked as deprecated in buf/validate/validate.proto. func (x *FieldConstraints) GetSkipped() bool { - if x != nil { - return x.Skipped + if x != nil && x.Skipped != nil { + return *x.Skipped } return false } // Deprecated: Marked as deprecated in buf/validate/validate.proto. func (x *FieldConstraints) GetIgnoreEmpty() bool { - if x != nil { - return x.IgnoreEmpty + if x != nil && x.IgnoreEmpty != nil { + return *x.IgnoreEmpty } return false } @@ -773,89 +882,89 @@ type isFieldConstraints_Type interface { type FieldConstraints_Float struct { // Scalar Field Types - Float *FloatRules `protobuf:"bytes,1,opt,name=float,proto3,oneof"` + Float *FloatRules `protobuf:"bytes,1,opt,name=float,oneof"` } type FieldConstraints_Double struct { - Double *DoubleRules `protobuf:"bytes,2,opt,name=double,proto3,oneof"` + Double *DoubleRules `protobuf:"bytes,2,opt,name=double,oneof"` } type FieldConstraints_Int32 struct { - Int32 *Int32Rules `protobuf:"bytes,3,opt,name=int32,proto3,oneof"` + Int32 *Int32Rules `protobuf:"bytes,3,opt,name=int32,oneof"` } type FieldConstraints_Int64 struct { - Int64 *Int64Rules `protobuf:"bytes,4,opt,name=int64,proto3,oneof"` + Int64 *Int64Rules `protobuf:"bytes,4,opt,name=int64,oneof"` } type FieldConstraints_Uint32 struct { - Uint32 *UInt32Rules `protobuf:"bytes,5,opt,name=uint32,proto3,oneof"` + Uint32 *UInt32Rules `protobuf:"bytes,5,opt,name=uint32,oneof"` } type FieldConstraints_Uint64 struct { - Uint64 *UInt64Rules `protobuf:"bytes,6,opt,name=uint64,proto3,oneof"` + Uint64 *UInt64Rules `protobuf:"bytes,6,opt,name=uint64,oneof"` } type FieldConstraints_Sint32 struct { - Sint32 *SInt32Rules `protobuf:"bytes,7,opt,name=sint32,proto3,oneof"` + Sint32 *SInt32Rules `protobuf:"bytes,7,opt,name=sint32,oneof"` } type FieldConstraints_Sint64 struct { - Sint64 *SInt64Rules `protobuf:"bytes,8,opt,name=sint64,proto3,oneof"` + Sint64 *SInt64Rules `protobuf:"bytes,8,opt,name=sint64,oneof"` } type FieldConstraints_Fixed32 struct { - Fixed32 *Fixed32Rules `protobuf:"bytes,9,opt,name=fixed32,proto3,oneof"` + Fixed32 *Fixed32Rules `protobuf:"bytes,9,opt,name=fixed32,oneof"` } type FieldConstraints_Fixed64 struct { - Fixed64 *Fixed64Rules `protobuf:"bytes,10,opt,name=fixed64,proto3,oneof"` + Fixed64 *Fixed64Rules `protobuf:"bytes,10,opt,name=fixed64,oneof"` } type FieldConstraints_Sfixed32 struct { - Sfixed32 *SFixed32Rules `protobuf:"bytes,11,opt,name=sfixed32,proto3,oneof"` + Sfixed32 *SFixed32Rules `protobuf:"bytes,11,opt,name=sfixed32,oneof"` } type FieldConstraints_Sfixed64 struct { - Sfixed64 *SFixed64Rules `protobuf:"bytes,12,opt,name=sfixed64,proto3,oneof"` + Sfixed64 *SFixed64Rules `protobuf:"bytes,12,opt,name=sfixed64,oneof"` } type FieldConstraints_Bool struct { - Bool *BoolRules `protobuf:"bytes,13,opt,name=bool,proto3,oneof"` + Bool *BoolRules `protobuf:"bytes,13,opt,name=bool,oneof"` } type FieldConstraints_String_ struct { - String_ *StringRules `protobuf:"bytes,14,opt,name=string,proto3,oneof"` + String_ *StringRules `protobuf:"bytes,14,opt,name=string,oneof"` } type FieldConstraints_Bytes struct { - Bytes *BytesRules `protobuf:"bytes,15,opt,name=bytes,proto3,oneof"` + Bytes *BytesRules `protobuf:"bytes,15,opt,name=bytes,oneof"` } type FieldConstraints_Enum struct { // Complex Field Types - Enum *EnumRules `protobuf:"bytes,16,opt,name=enum,proto3,oneof"` + Enum *EnumRules `protobuf:"bytes,16,opt,name=enum,oneof"` } type FieldConstraints_Repeated struct { - Repeated *RepeatedRules `protobuf:"bytes,18,opt,name=repeated,proto3,oneof"` + Repeated *RepeatedRules `protobuf:"bytes,18,opt,name=repeated,oneof"` } type FieldConstraints_Map struct { - Map *MapRules `protobuf:"bytes,19,opt,name=map,proto3,oneof"` + Map *MapRules `protobuf:"bytes,19,opt,name=map,oneof"` } type FieldConstraints_Any struct { // Well-Known Field Types - Any *AnyRules `protobuf:"bytes,20,opt,name=any,proto3,oneof"` + Any *AnyRules `protobuf:"bytes,20,opt,name=any,oneof"` } type FieldConstraints_Duration struct { - Duration *DurationRules `protobuf:"bytes,21,opt,name=duration,proto3,oneof"` + Duration *DurationRules `protobuf:"bytes,21,opt,name=duration,oneof"` } type FieldConstraints_Timestamp struct { - Timestamp *TimestampRules `protobuf:"bytes,22,opt,name=timestamp,proto3,oneof"` + Timestamp *TimestampRules `protobuf:"bytes,22,opt,name=timestamp,oneof"` } func (*FieldConstraints_Float) isFieldConstraints_Type() {} @@ -900,13 +1009,79 @@ func (*FieldConstraints_Duration) isFieldConstraints_Type() {} func (*FieldConstraints_Timestamp) isFieldConstraints_Type() {} -// FloatRules describes the constraints applied to `float` values. These -// rules may also be applied to the `google.protobuf.FloatValue` Well-Known-Type. -type FloatRules struct { +// PredefinedConstraints are custom constraints that can be re-used with +// multiple fields. +type PredefinedConstraints struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // `cel` is a repeated field used to represent a textual expression + // in the Common Expression Language (CEL) syntax. For more information on + // CEL, [see our documentation](https://github.com/bufbuild/protovalidate/blob/main/docs/cel.md). + // + // ```proto + // + // message MyMessage { + // // The field `value` must be greater than 42. + // optional int32 value = 1 [(buf.validate.predefined).cel = { + // id: "my_message.value", + // message: "value must be greater than 42", + // expression: "this > 42", + // }]; + // } + // + // ``` + Cel []*Constraint `protobuf:"bytes,1,rep,name=cel" json:"cel,omitempty"` +} + +func (x *PredefinedConstraints) Reset() { + *x = PredefinedConstraints{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_validate_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredefinedConstraints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedConstraints) ProtoMessage() {} + +func (x *PredefinedConstraints) ProtoReflect() protoreflect.Message { + mi := &file_buf_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 PredefinedConstraints.ProtoReflect.Descriptor instead. +func (*PredefinedConstraints) Descriptor() ([]byte, []int) { + return file_buf_validate_validate_proto_rawDescGZIP(), []int{4} +} + +func (x *PredefinedConstraints) GetCel() []*Constraint { + if x != nil { + return x.Cel + } + return nil +} + +// FloatRules describes the constraints applied to `float` values. These +// rules may also be applied to the `google.protobuf.FloatValue` Well-Known-Type. +type FloatRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. // @@ -918,7 +1093,7 @@ type FloatRules struct { // } // // ``` - Const *float32 `protobuf:"fixed32,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *float32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *FloatRules_Lt @@ -941,7 +1116,7 @@ type FloatRules struct { // } // // ``` - In []float32 `protobuf:"fixed32,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []float32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` // `in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error // message is generated. @@ -954,16 +1129,31 @@ type FloatRules struct { // } // // ``` - NotIn []float32 `protobuf:"fixed32,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []float32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` // `finite` requires the field value to be finite. If the field value is // infinite or NaN, an error message is generated. - Finite bool `protobuf:"varint,8,opt,name=finite,proto3" json:"finite,omitempty"` + Finite *bool `protobuf:"varint,8,opt,name=finite" json:"finite,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFloat { + // float value = 1 [ + // (buf.validate.field).float.example = 1.0, + // (buf.validate.field).float.example = "Infinity" + // ]; + // } + // + // ``` + Example []float32 `protobuf:"fixed32,9,rep,name=example" json:"example,omitempty"` } func (x *FloatRules) Reset() { *x = FloatRules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[3] + mi := &file_buf_validate_validate_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -976,7 +1166,7 @@ func (x *FloatRules) String() string { func (*FloatRules) ProtoMessage() {} func (x *FloatRules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[3] + mi := &file_buf_validate_validate_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -989,7 +1179,7 @@ func (x *FloatRules) ProtoReflect() protoreflect.Message { // Deprecated: Use FloatRules.ProtoReflect.Descriptor instead. func (*FloatRules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{3} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{5} } func (x *FloatRules) GetConst() float32 { @@ -1056,12 +1246,19 @@ func (x *FloatRules) GetNotIn() []float32 { } func (x *FloatRules) GetFinite() bool { - if x != nil { - return x.Finite + if x != nil && x.Finite != nil { + return *x.Finite } return false } +func (x *FloatRules) GetExample() []float32 { + if x != nil { + return x.Example + } + return nil +} + type isFloatRules_LessThan interface { isFloatRules_LessThan() } @@ -1079,7 +1276,7 @@ type FloatRules_Lt struct { // } // // ``` - Lt float32 `protobuf:"fixed32,2,opt,name=lt,proto3,oneof"` + Lt float32 `protobuf:"fixed32,2,opt,name=lt,oneof"` } type FloatRules_Lte struct { @@ -1095,7 +1292,7 @@ type FloatRules_Lte struct { // } // // ``` - Lte float32 `protobuf:"fixed32,3,opt,name=lte,proto3,oneof"` + Lte float32 `protobuf:"fixed32,3,opt,name=lte,oneof"` } func (*FloatRules_Lt) isFloatRules_LessThan() {} @@ -1127,7 +1324,7 @@ type FloatRules_Gt struct { // } // // ``` - Gt float32 `protobuf:"fixed32,4,opt,name=gt,proto3,oneof"` + Gt float32 `protobuf:"fixed32,4,opt,name=gt,oneof"` } type FloatRules_Gte struct { @@ -1151,7 +1348,7 @@ type FloatRules_Gte struct { // } // // ``` - Gte float32 `protobuf:"fixed32,5,opt,name=gte,proto3,oneof"` + Gte float32 `protobuf:"fixed32,5,opt,name=gte,oneof"` } func (*FloatRules_Gt) isFloatRules_GreaterThan() {} @@ -1161,9 +1358,10 @@ func (*FloatRules_Gte) isFloatRules_GreaterThan() {} // DoubleRules describes the constraints applied to `double` values. These // rules may also be applied to the `google.protobuf.DoubleValue` Well-Known-Type. type DoubleRules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. @@ -1176,7 +1374,7 @@ type DoubleRules struct { // } // // ``` - Const *float64 `protobuf:"fixed64,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *float64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *DoubleRules_Lt @@ -1199,7 +1397,7 @@ type DoubleRules struct { // } // // ``` - In []float64 `protobuf:"fixed64,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []float64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error // message is generated. @@ -1212,16 +1410,31 @@ type DoubleRules struct { // } // // ``` - NotIn []float64 `protobuf:"fixed64,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []float64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` // `finite` requires the field value to be finite. If the field value is // infinite or NaN, an error message is generated. - Finite bool `protobuf:"varint,8,opt,name=finite,proto3" json:"finite,omitempty"` + Finite *bool `protobuf:"varint,8,opt,name=finite" json:"finite,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyDouble { + // double value = 1 [ + // (buf.validate.field).double.example = 1.0, + // (buf.validate.field).double.example = "Infinity" + // ]; + // } + // + // ``` + Example []float64 `protobuf:"fixed64,9,rep,name=example" json:"example,omitempty"` } func (x *DoubleRules) Reset() { *x = DoubleRules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[4] + mi := &file_buf_validate_validate_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1234,7 +1447,7 @@ func (x *DoubleRules) String() string { func (*DoubleRules) ProtoMessage() {} func (x *DoubleRules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[4] + mi := &file_buf_validate_validate_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1247,7 +1460,7 @@ func (x *DoubleRules) ProtoReflect() protoreflect.Message { // Deprecated: Use DoubleRules.ProtoReflect.Descriptor instead. func (*DoubleRules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{4} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{6} } func (x *DoubleRules) GetConst() float64 { @@ -1314,12 +1527,19 @@ func (x *DoubleRules) GetNotIn() []float64 { } func (x *DoubleRules) GetFinite() bool { - if x != nil { - return x.Finite + if x != nil && x.Finite != nil { + return *x.Finite } return false } +func (x *DoubleRules) GetExample() []float64 { + if x != nil { + return x.Example + } + return nil +} + type isDoubleRules_LessThan interface { isDoubleRules_LessThan() } @@ -1337,7 +1557,7 @@ type DoubleRules_Lt struct { // } // // ``` - Lt float64 `protobuf:"fixed64,2,opt,name=lt,proto3,oneof"` + Lt float64 `protobuf:"fixed64,2,opt,name=lt,oneof"` } type DoubleRules_Lte struct { @@ -1353,7 +1573,7 @@ type DoubleRules_Lte struct { // } // // ``` - Lte float64 `protobuf:"fixed64,3,opt,name=lte,proto3,oneof"` + Lte float64 `protobuf:"fixed64,3,opt,name=lte,oneof"` } func (*DoubleRules_Lt) isDoubleRules_LessThan() {} @@ -1385,7 +1605,7 @@ type DoubleRules_Gt struct { // } // // ``` - Gt float64 `protobuf:"fixed64,4,opt,name=gt,proto3,oneof"` + Gt float64 `protobuf:"fixed64,4,opt,name=gt,oneof"` } type DoubleRules_Gte struct { @@ -1409,7 +1629,7 @@ type DoubleRules_Gte struct { // } // // ``` - Gte float64 `protobuf:"fixed64,5,opt,name=gte,proto3,oneof"` + Gte float64 `protobuf:"fixed64,5,opt,name=gte,oneof"` } func (*DoubleRules_Gt) isDoubleRules_GreaterThan() {} @@ -1419,9 +1639,10 @@ func (*DoubleRules_Gte) isDoubleRules_GreaterThan() {} // Int32Rules describes the constraints applied to `int32` values. These // rules may also be applied to the `google.protobuf.Int32Value` Well-Known-Type. type Int32Rules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. @@ -1434,7 +1655,7 @@ type Int32Rules struct { // } // // ``` - Const *int32 `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *int32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *Int32Rules_Lt @@ -1457,7 +1678,7 @@ type Int32Rules struct { // } // // ``` - In []int32 `protobuf:"varint,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []int32 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error message // is generated. @@ -1470,13 +1691,28 @@ type Int32Rules struct { // } // // ``` - NotIn []int32 `protobuf:"varint,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []int32 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyInt32 { + // int32 value = 1 [ + // (buf.validate.field).int32.example = 1, + // (buf.validate.field).int32.example = -10 + // ]; + // } + // + // ``` + Example []int32 `protobuf:"varint,8,rep,name=example" json:"example,omitempty"` } func (x *Int32Rules) Reset() { *x = Int32Rules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[5] + mi := &file_buf_validate_validate_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1489,7 +1725,7 @@ func (x *Int32Rules) String() string { func (*Int32Rules) ProtoMessage() {} func (x *Int32Rules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[5] + mi := &file_buf_validate_validate_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1502,7 +1738,7 @@ func (x *Int32Rules) ProtoReflect() protoreflect.Message { // Deprecated: Use Int32Rules.ProtoReflect.Descriptor instead. func (*Int32Rules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{5} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{7} } func (x *Int32Rules) GetConst() int32 { @@ -1568,6 +1804,13 @@ func (x *Int32Rules) GetNotIn() []int32 { return nil } +func (x *Int32Rules) GetExample() []int32 { + if x != nil { + return x.Example + } + return nil +} + type isInt32Rules_LessThan interface { isInt32Rules_LessThan() } @@ -1585,7 +1828,7 @@ type Int32Rules_Lt struct { // } // // ``` - Lt int32 `protobuf:"varint,2,opt,name=lt,proto3,oneof"` + Lt int32 `protobuf:"varint,2,opt,name=lt,oneof"` } type Int32Rules_Lte struct { @@ -1601,7 +1844,7 @@ type Int32Rules_Lte struct { // } // // ``` - Lte int32 `protobuf:"varint,3,opt,name=lte,proto3,oneof"` + Lte int32 `protobuf:"varint,3,opt,name=lte,oneof"` } func (*Int32Rules_Lt) isInt32Rules_LessThan() {} @@ -1633,7 +1876,7 @@ type Int32Rules_Gt struct { // } // // ``` - Gt int32 `protobuf:"varint,4,opt,name=gt,proto3,oneof"` + Gt int32 `protobuf:"varint,4,opt,name=gt,oneof"` } type Int32Rules_Gte struct { @@ -1657,7 +1900,7 @@ type Int32Rules_Gte struct { // } // // ``` - Gte int32 `protobuf:"varint,5,opt,name=gte,proto3,oneof"` + Gte int32 `protobuf:"varint,5,opt,name=gte,oneof"` } func (*Int32Rules_Gt) isInt32Rules_GreaterThan() {} @@ -1667,9 +1910,10 @@ func (*Int32Rules_Gte) isInt32Rules_GreaterThan() {} // Int64Rules describes the constraints applied to `int64` values. These // rules may also be applied to the `google.protobuf.Int64Value` Well-Known-Type. type Int64Rules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. @@ -1682,7 +1926,7 @@ type Int64Rules struct { // } // // ``` - Const *int64 `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *int64 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *Int64Rules_Lt @@ -1705,7 +1949,7 @@ type Int64Rules struct { // } // // ``` - In []int64 `protobuf:"varint,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []int64 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error // message is generated. @@ -1718,13 +1962,28 @@ type Int64Rules struct { // } // // ``` - NotIn []int64 `protobuf:"varint,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []int64 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyInt64 { + // int64 value = 1 [ + // (buf.validate.field).int64.example = 1, + // (buf.validate.field).int64.example = -10 + // ]; + // } + // + // ``` + Example []int64 `protobuf:"varint,9,rep,name=example" json:"example,omitempty"` } func (x *Int64Rules) Reset() { *x = Int64Rules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[6] + mi := &file_buf_validate_validate_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1737,7 +1996,7 @@ func (x *Int64Rules) String() string { func (*Int64Rules) ProtoMessage() {} func (x *Int64Rules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[6] + mi := &file_buf_validate_validate_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1750,7 +2009,7 @@ func (x *Int64Rules) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64Rules.ProtoReflect.Descriptor instead. func (*Int64Rules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{6} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{8} } func (x *Int64Rules) GetConst() int64 { @@ -1816,6 +2075,13 @@ func (x *Int64Rules) GetNotIn() []int64 { return nil } +func (x *Int64Rules) GetExample() []int64 { + if x != nil { + return x.Example + } + return nil +} + type isInt64Rules_LessThan interface { isInt64Rules_LessThan() } @@ -1833,7 +2099,7 @@ type Int64Rules_Lt struct { // } // // ``` - Lt int64 `protobuf:"varint,2,opt,name=lt,proto3,oneof"` + Lt int64 `protobuf:"varint,2,opt,name=lt,oneof"` } type Int64Rules_Lte struct { @@ -1849,7 +2115,7 @@ type Int64Rules_Lte struct { // } // // ``` - Lte int64 `protobuf:"varint,3,opt,name=lte,proto3,oneof"` + Lte int64 `protobuf:"varint,3,opt,name=lte,oneof"` } func (*Int64Rules_Lt) isInt64Rules_LessThan() {} @@ -1881,7 +2147,7 @@ type Int64Rules_Gt struct { // } // // ``` - Gt int64 `protobuf:"varint,4,opt,name=gt,proto3,oneof"` + Gt int64 `protobuf:"varint,4,opt,name=gt,oneof"` } type Int64Rules_Gte struct { @@ -1905,7 +2171,7 @@ type Int64Rules_Gte struct { // } // // ``` - Gte int64 `protobuf:"varint,5,opt,name=gte,proto3,oneof"` + Gte int64 `protobuf:"varint,5,opt,name=gte,oneof"` } func (*Int64Rules_Gt) isInt64Rules_GreaterThan() {} @@ -1915,9 +2181,10 @@ func (*Int64Rules_Gte) isInt64Rules_GreaterThan() {} // UInt32Rules describes the constraints applied to `uint32` values. These // rules may also be applied to the `google.protobuf.UInt32Value` Well-Known-Type. type UInt32Rules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. @@ -1930,7 +2197,7 @@ type UInt32Rules struct { // } // // ``` - Const *uint32 `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *uint32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *UInt32Rules_Lt @@ -1953,7 +2220,7 @@ type UInt32Rules struct { // } // // ``` - In []uint32 `protobuf:"varint,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []uint32 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error // message is generated. @@ -1966,13 +2233,28 @@ type UInt32Rules struct { // } // // ``` - NotIn []uint32 `protobuf:"varint,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []uint32 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyUInt32 { + // uint32 value = 1 [ + // (buf.validate.field).uint32.example = 1, + // (buf.validate.field).uint32.example = 10 + // ]; + // } + // + // ``` + Example []uint32 `protobuf:"varint,8,rep,name=example" json:"example,omitempty"` } func (x *UInt32Rules) Reset() { *x = UInt32Rules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[7] + mi := &file_buf_validate_validate_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1985,7 +2267,7 @@ func (x *UInt32Rules) String() string { func (*UInt32Rules) ProtoMessage() {} func (x *UInt32Rules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[7] + mi := &file_buf_validate_validate_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1998,7 +2280,7 @@ func (x *UInt32Rules) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt32Rules.ProtoReflect.Descriptor instead. func (*UInt32Rules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{7} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{9} } func (x *UInt32Rules) GetConst() uint32 { @@ -2064,6 +2346,13 @@ func (x *UInt32Rules) GetNotIn() []uint32 { return nil } +func (x *UInt32Rules) GetExample() []uint32 { + if x != nil { + return x.Example + } + return nil +} + type isUInt32Rules_LessThan interface { isUInt32Rules_LessThan() } @@ -2081,7 +2370,7 @@ type UInt32Rules_Lt struct { // } // // ``` - Lt uint32 `protobuf:"varint,2,opt,name=lt,proto3,oneof"` + Lt uint32 `protobuf:"varint,2,opt,name=lt,oneof"` } type UInt32Rules_Lte struct { @@ -2097,7 +2386,7 @@ type UInt32Rules_Lte struct { // } // // ``` - Lte uint32 `protobuf:"varint,3,opt,name=lte,proto3,oneof"` + Lte uint32 `protobuf:"varint,3,opt,name=lte,oneof"` } func (*UInt32Rules_Lt) isUInt32Rules_LessThan() {} @@ -2129,7 +2418,7 @@ type UInt32Rules_Gt struct { // } // // ``` - Gt uint32 `protobuf:"varint,4,opt,name=gt,proto3,oneof"` + Gt uint32 `protobuf:"varint,4,opt,name=gt,oneof"` } type UInt32Rules_Gte struct { @@ -2153,7 +2442,7 @@ type UInt32Rules_Gte struct { // } // // ``` - Gte uint32 `protobuf:"varint,5,opt,name=gte,proto3,oneof"` + Gte uint32 `protobuf:"varint,5,opt,name=gte,oneof"` } func (*UInt32Rules_Gt) isUInt32Rules_GreaterThan() {} @@ -2163,9 +2452,10 @@ func (*UInt32Rules_Gte) isUInt32Rules_GreaterThan() {} // UInt64Rules describes the constraints applied to `uint64` values. These // rules may also be applied to the `google.protobuf.UInt64Value` Well-Known-Type. type UInt64Rules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. @@ -2178,7 +2468,7 @@ type UInt64Rules struct { // } // // ``` - Const *uint64 `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *uint64 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *UInt64Rules_Lt @@ -2201,7 +2491,7 @@ type UInt64Rules struct { // } // // ``` - In []uint64 `protobuf:"varint,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []uint64 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error // message is generated. @@ -2214,13 +2504,28 @@ type UInt64Rules struct { // } // // ``` - NotIn []uint64 `protobuf:"varint,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []uint64 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyUInt64 { + // uint64 value = 1 [ + // (buf.validate.field).uint64.example = 1, + // (buf.validate.field).uint64.example = -10 + // ]; + // } + // + // ``` + Example []uint64 `protobuf:"varint,8,rep,name=example" json:"example,omitempty"` } func (x *UInt64Rules) Reset() { *x = UInt64Rules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[8] + mi := &file_buf_validate_validate_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2233,7 +2538,7 @@ func (x *UInt64Rules) String() string { func (*UInt64Rules) ProtoMessage() {} func (x *UInt64Rules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[8] + mi := &file_buf_validate_validate_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2246,7 +2551,7 @@ func (x *UInt64Rules) ProtoReflect() protoreflect.Message { // Deprecated: Use UInt64Rules.ProtoReflect.Descriptor instead. func (*UInt64Rules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{8} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{10} } func (x *UInt64Rules) GetConst() uint64 { @@ -2312,6 +2617,13 @@ func (x *UInt64Rules) GetNotIn() []uint64 { return nil } +func (x *UInt64Rules) GetExample() []uint64 { + if x != nil { + return x.Example + } + return nil +} + type isUInt64Rules_LessThan interface { isUInt64Rules_LessThan() } @@ -2329,7 +2641,7 @@ type UInt64Rules_Lt struct { // } // // ``` - Lt uint64 `protobuf:"varint,2,opt,name=lt,proto3,oneof"` + Lt uint64 `protobuf:"varint,2,opt,name=lt,oneof"` } type UInt64Rules_Lte struct { @@ -2345,7 +2657,7 @@ type UInt64Rules_Lte struct { // } // // ``` - Lte uint64 `protobuf:"varint,3,opt,name=lte,proto3,oneof"` + Lte uint64 `protobuf:"varint,3,opt,name=lte,oneof"` } func (*UInt64Rules_Lt) isUInt64Rules_LessThan() {} @@ -2377,7 +2689,7 @@ type UInt64Rules_Gt struct { // } // // ``` - Gt uint64 `protobuf:"varint,4,opt,name=gt,proto3,oneof"` + Gt uint64 `protobuf:"varint,4,opt,name=gt,oneof"` } type UInt64Rules_Gte struct { @@ -2401,7 +2713,7 @@ type UInt64Rules_Gte struct { // } // // ``` - Gte uint64 `protobuf:"varint,5,opt,name=gte,proto3,oneof"` + Gte uint64 `protobuf:"varint,5,opt,name=gte,oneof"` } func (*UInt64Rules_Gt) isUInt64Rules_GreaterThan() {} @@ -2410,9 +2722,10 @@ func (*UInt64Rules_Gte) isUInt64Rules_GreaterThan() {} // SInt32Rules describes the constraints applied to `sint32` values. type SInt32Rules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. @@ -2425,7 +2738,7 @@ type SInt32Rules struct { // } // // ``` - Const *int32 `protobuf:"zigzag32,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *int32 `protobuf:"zigzag32,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *SInt32Rules_Lt @@ -2448,7 +2761,7 @@ type SInt32Rules struct { // } // // ``` - In []int32 `protobuf:"zigzag32,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []int32 `protobuf:"zigzag32,6,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error // message is generated. @@ -2461,13 +2774,28 @@ type SInt32Rules struct { // } // // ``` - NotIn []int32 `protobuf:"zigzag32,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []int32 `protobuf:"zigzag32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySInt32 { + // sint32 value = 1 [ + // (buf.validate.field).sint32.example = 1, + // (buf.validate.field).sint32.example = -10 + // ]; + // } + // + // ``` + Example []int32 `protobuf:"zigzag32,8,rep,name=example" json:"example,omitempty"` } func (x *SInt32Rules) Reset() { *x = SInt32Rules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[9] + mi := &file_buf_validate_validate_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2480,7 +2808,7 @@ func (x *SInt32Rules) String() string { func (*SInt32Rules) ProtoMessage() {} func (x *SInt32Rules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[9] + mi := &file_buf_validate_validate_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2493,7 +2821,7 @@ func (x *SInt32Rules) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt32Rules.ProtoReflect.Descriptor instead. func (*SInt32Rules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{9} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{11} } func (x *SInt32Rules) GetConst() int32 { @@ -2559,6 +2887,13 @@ func (x *SInt32Rules) GetNotIn() []int32 { return nil } +func (x *SInt32Rules) GetExample() []int32 { + if x != nil { + return x.Example + } + return nil +} + type isSInt32Rules_LessThan interface { isSInt32Rules_LessThan() } @@ -2576,7 +2911,7 @@ type SInt32Rules_Lt struct { // } // // ``` - Lt int32 `protobuf:"zigzag32,2,opt,name=lt,proto3,oneof"` + Lt int32 `protobuf:"zigzag32,2,opt,name=lt,oneof"` } type SInt32Rules_Lte struct { @@ -2592,7 +2927,7 @@ type SInt32Rules_Lte struct { // } // // ``` - Lte int32 `protobuf:"zigzag32,3,opt,name=lte,proto3,oneof"` + Lte int32 `protobuf:"zigzag32,3,opt,name=lte,oneof"` } func (*SInt32Rules_Lt) isSInt32Rules_LessThan() {} @@ -2624,7 +2959,7 @@ type SInt32Rules_Gt struct { // } // // ``` - Gt int32 `protobuf:"zigzag32,4,opt,name=gt,proto3,oneof"` + Gt int32 `protobuf:"zigzag32,4,opt,name=gt,oneof"` } type SInt32Rules_Gte struct { @@ -2648,7 +2983,7 @@ type SInt32Rules_Gte struct { // } // // ``` - Gte int32 `protobuf:"zigzag32,5,opt,name=gte,proto3,oneof"` + Gte int32 `protobuf:"zigzag32,5,opt,name=gte,oneof"` } func (*SInt32Rules_Gt) isSInt32Rules_GreaterThan() {} @@ -2657,9 +2992,10 @@ func (*SInt32Rules_Gte) isSInt32Rules_GreaterThan() {} // SInt64Rules describes the constraints applied to `sint64` values. type SInt64Rules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. @@ -2672,7 +3008,7 @@ type SInt64Rules struct { // } // // ``` - Const *int64 `protobuf:"zigzag64,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *int64 `protobuf:"zigzag64,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *SInt64Rules_Lt @@ -2695,7 +3031,7 @@ type SInt64Rules struct { // } // // ``` - In []int64 `protobuf:"zigzag64,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []int64 `protobuf:"zigzag64,6,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error // message is generated. @@ -2708,13 +3044,28 @@ type SInt64Rules struct { // } // // ``` - NotIn []int64 `protobuf:"zigzag64,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []int64 `protobuf:"zigzag64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySInt64 { + // sint64 value = 1 [ + // (buf.validate.field).sint64.example = 1, + // (buf.validate.field).sint64.example = -10 + // ]; + // } + // + // ``` + Example []int64 `protobuf:"zigzag64,8,rep,name=example" json:"example,omitempty"` } func (x *SInt64Rules) Reset() { *x = SInt64Rules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[10] + mi := &file_buf_validate_validate_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2727,7 +3078,7 @@ func (x *SInt64Rules) String() string { func (*SInt64Rules) ProtoMessage() {} func (x *SInt64Rules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[10] + mi := &file_buf_validate_validate_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2740,7 +3091,7 @@ func (x *SInt64Rules) ProtoReflect() protoreflect.Message { // Deprecated: Use SInt64Rules.ProtoReflect.Descriptor instead. func (*SInt64Rules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{10} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{12} } func (x *SInt64Rules) GetConst() int64 { @@ -2806,6 +3157,13 @@ func (x *SInt64Rules) GetNotIn() []int64 { return nil } +func (x *SInt64Rules) GetExample() []int64 { + if x != nil { + return x.Example + } + return nil +} + type isSInt64Rules_LessThan interface { isSInt64Rules_LessThan() } @@ -2823,7 +3181,7 @@ type SInt64Rules_Lt struct { // } // // ``` - Lt int64 `protobuf:"zigzag64,2,opt,name=lt,proto3,oneof"` + Lt int64 `protobuf:"zigzag64,2,opt,name=lt,oneof"` } type SInt64Rules_Lte struct { @@ -2839,7 +3197,7 @@ type SInt64Rules_Lte struct { // } // // ``` - Lte int64 `protobuf:"zigzag64,3,opt,name=lte,proto3,oneof"` + Lte int64 `protobuf:"zigzag64,3,opt,name=lte,oneof"` } func (*SInt64Rules_Lt) isSInt64Rules_LessThan() {} @@ -2871,7 +3229,7 @@ type SInt64Rules_Gt struct { // } // // ``` - Gt int64 `protobuf:"zigzag64,4,opt,name=gt,proto3,oneof"` + Gt int64 `protobuf:"zigzag64,4,opt,name=gt,oneof"` } type SInt64Rules_Gte struct { @@ -2895,7 +3253,7 @@ type SInt64Rules_Gte struct { // } // // ``` - Gte int64 `protobuf:"zigzag64,5,opt,name=gte,proto3,oneof"` + Gte int64 `protobuf:"zigzag64,5,opt,name=gte,oneof"` } func (*SInt64Rules_Gt) isSInt64Rules_GreaterThan() {} @@ -2904,9 +3262,10 @@ func (*SInt64Rules_Gte) isSInt64Rules_GreaterThan() {} // Fixed32Rules describes the constraints applied to `fixed32` values. type Fixed32Rules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. // If the field value doesn't match, an error message is generated. @@ -2919,7 +3278,7 @@ type Fixed32Rules struct { // } // // ``` - Const *uint32 `protobuf:"fixed32,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *uint32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *Fixed32Rules_Lt @@ -2942,7 +3301,7 @@ type Fixed32Rules struct { // } // // ``` - In []uint32 `protobuf:"fixed32,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []uint32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error // message is generated. @@ -2955,13 +3314,28 @@ type Fixed32Rules struct { // } // // ``` - NotIn []uint32 `protobuf:"fixed32,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []uint32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFixed32 { + // fixed32 value = 1 [ + // (buf.validate.field).fixed32.example = 1, + // (buf.validate.field).fixed32.example = 2 + // ]; + // } + // + // ``` + Example []uint32 `protobuf:"fixed32,8,rep,name=example" json:"example,omitempty"` } func (x *Fixed32Rules) Reset() { *x = Fixed32Rules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[11] + mi := &file_buf_validate_validate_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2974,7 +3348,7 @@ func (x *Fixed32Rules) String() string { func (*Fixed32Rules) ProtoMessage() {} func (x *Fixed32Rules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[11] + mi := &file_buf_validate_validate_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2987,7 +3361,7 @@ func (x *Fixed32Rules) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed32Rules.ProtoReflect.Descriptor instead. func (*Fixed32Rules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{11} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{13} } func (x *Fixed32Rules) GetConst() uint32 { @@ -3053,6 +3427,13 @@ func (x *Fixed32Rules) GetNotIn() []uint32 { return nil } +func (x *Fixed32Rules) GetExample() []uint32 { + if x != nil { + return x.Example + } + return nil +} + type isFixed32Rules_LessThan interface { isFixed32Rules_LessThan() } @@ -3070,7 +3451,7 @@ type Fixed32Rules_Lt struct { // } // // ``` - Lt uint32 `protobuf:"fixed32,2,opt,name=lt,proto3,oneof"` + Lt uint32 `protobuf:"fixed32,2,opt,name=lt,oneof"` } type Fixed32Rules_Lte struct { @@ -3086,7 +3467,7 @@ type Fixed32Rules_Lte struct { // } // // ``` - Lte uint32 `protobuf:"fixed32,3,opt,name=lte,proto3,oneof"` + Lte uint32 `protobuf:"fixed32,3,opt,name=lte,oneof"` } func (*Fixed32Rules_Lt) isFixed32Rules_LessThan() {} @@ -3118,7 +3499,7 @@ type Fixed32Rules_Gt struct { // } // // ``` - Gt uint32 `protobuf:"fixed32,4,opt,name=gt,proto3,oneof"` + Gt uint32 `protobuf:"fixed32,4,opt,name=gt,oneof"` } type Fixed32Rules_Gte struct { @@ -3142,7 +3523,7 @@ type Fixed32Rules_Gte struct { // } // // ``` - Gte uint32 `protobuf:"fixed32,5,opt,name=gte,proto3,oneof"` + Gte uint32 `protobuf:"fixed32,5,opt,name=gte,oneof"` } func (*Fixed32Rules_Gt) isFixed32Rules_GreaterThan() {} @@ -3151,9 +3532,10 @@ func (*Fixed32Rules_Gte) isFixed32Rules_GreaterThan() {} // Fixed64Rules describes the constraints applied to `fixed64` values. type Fixed64Rules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. @@ -3166,7 +3548,7 @@ type Fixed64Rules struct { // } // // ``` - Const *uint64 `protobuf:"fixed64,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *uint64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *Fixed64Rules_Lt @@ -3189,7 +3571,7 @@ type Fixed64Rules struct { // } // // ``` - In []uint64 `protobuf:"fixed64,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []uint64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error // message is generated. @@ -3202,13 +3584,28 @@ type Fixed64Rules struct { // } // // ``` - NotIn []uint64 `protobuf:"fixed64,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []uint64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFixed64 { + // fixed64 value = 1 [ + // (buf.validate.field).fixed64.example = 1, + // (buf.validate.field).fixed64.example = 2 + // ]; + // } + // + // ``` + Example []uint64 `protobuf:"fixed64,8,rep,name=example" json:"example,omitempty"` } func (x *Fixed64Rules) Reset() { *x = Fixed64Rules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[12] + mi := &file_buf_validate_validate_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3221,7 +3618,7 @@ func (x *Fixed64Rules) String() string { func (*Fixed64Rules) ProtoMessage() {} func (x *Fixed64Rules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[12] + mi := &file_buf_validate_validate_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3234,7 +3631,7 @@ func (x *Fixed64Rules) ProtoReflect() protoreflect.Message { // Deprecated: Use Fixed64Rules.ProtoReflect.Descriptor instead. func (*Fixed64Rules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{12} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{14} } func (x *Fixed64Rules) GetConst() uint64 { @@ -3300,6 +3697,13 @@ func (x *Fixed64Rules) GetNotIn() []uint64 { return nil } +func (x *Fixed64Rules) GetExample() []uint64 { + if x != nil { + return x.Example + } + return nil +} + type isFixed64Rules_LessThan interface { isFixed64Rules_LessThan() } @@ -3317,7 +3721,7 @@ type Fixed64Rules_Lt struct { // } // // ``` - Lt uint64 `protobuf:"fixed64,2,opt,name=lt,proto3,oneof"` + Lt uint64 `protobuf:"fixed64,2,opt,name=lt,oneof"` } type Fixed64Rules_Lte struct { @@ -3333,7 +3737,7 @@ type Fixed64Rules_Lte struct { // } // // ``` - Lte uint64 `protobuf:"fixed64,3,opt,name=lte,proto3,oneof"` + Lte uint64 `protobuf:"fixed64,3,opt,name=lte,oneof"` } func (*Fixed64Rules_Lt) isFixed64Rules_LessThan() {} @@ -3365,7 +3769,7 @@ type Fixed64Rules_Gt struct { // } // // ``` - Gt uint64 `protobuf:"fixed64,4,opt,name=gt,proto3,oneof"` + Gt uint64 `protobuf:"fixed64,4,opt,name=gt,oneof"` } type Fixed64Rules_Gte struct { @@ -3389,7 +3793,7 @@ type Fixed64Rules_Gte struct { // } // // ``` - Gte uint64 `protobuf:"fixed64,5,opt,name=gte,proto3,oneof"` + Gte uint64 `protobuf:"fixed64,5,opt,name=gte,oneof"` } func (*Fixed64Rules_Gt) isFixed64Rules_GreaterThan() {} @@ -3398,9 +3802,10 @@ func (*Fixed64Rules_Gte) isFixed64Rules_GreaterThan() {} // SFixed32Rules describes the constraints applied to `fixed32` values. type SFixed32Rules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. @@ -3413,7 +3818,7 @@ type SFixed32Rules struct { // } // // ``` - Const *int32 `protobuf:"fixed32,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *int32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *SFixed32Rules_Lt @@ -3436,7 +3841,7 @@ type SFixed32Rules struct { // } // // ``` - In []int32 `protobuf:"fixed32,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []int32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error // message is generated. @@ -3449,13 +3854,28 @@ type SFixed32Rules struct { // } // // ``` - NotIn []int32 `protobuf:"fixed32,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []int32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySFixed32 { + // sfixed32 value = 1 [ + // (buf.validate.field).sfixed32.example = 1, + // (buf.validate.field).sfixed32.example = 2 + // ]; + // } + // + // ``` + Example []int32 `protobuf:"fixed32,8,rep,name=example" json:"example,omitempty"` } func (x *SFixed32Rules) Reset() { *x = SFixed32Rules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[13] + mi := &file_buf_validate_validate_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3468,7 +3888,7 @@ func (x *SFixed32Rules) String() string { func (*SFixed32Rules) ProtoMessage() {} func (x *SFixed32Rules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[13] + mi := &file_buf_validate_validate_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3481,7 +3901,7 @@ func (x *SFixed32Rules) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed32Rules.ProtoReflect.Descriptor instead. func (*SFixed32Rules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{13} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{15} } func (x *SFixed32Rules) GetConst() int32 { @@ -3547,6 +3967,13 @@ func (x *SFixed32Rules) GetNotIn() []int32 { return nil } +func (x *SFixed32Rules) GetExample() []int32 { + if x != nil { + return x.Example + } + return nil +} + type isSFixed32Rules_LessThan interface { isSFixed32Rules_LessThan() } @@ -3564,7 +3991,7 @@ type SFixed32Rules_Lt struct { // } // // ``` - Lt int32 `protobuf:"fixed32,2,opt,name=lt,proto3,oneof"` + Lt int32 `protobuf:"fixed32,2,opt,name=lt,oneof"` } type SFixed32Rules_Lte struct { @@ -3580,7 +4007,7 @@ type SFixed32Rules_Lte struct { // } // // ``` - Lte int32 `protobuf:"fixed32,3,opt,name=lte,proto3,oneof"` + Lte int32 `protobuf:"fixed32,3,opt,name=lte,oneof"` } func (*SFixed32Rules_Lt) isSFixed32Rules_LessThan() {} @@ -3612,7 +4039,7 @@ type SFixed32Rules_Gt struct { // } // // ``` - Gt int32 `protobuf:"fixed32,4,opt,name=gt,proto3,oneof"` + Gt int32 `protobuf:"fixed32,4,opt,name=gt,oneof"` } type SFixed32Rules_Gte struct { @@ -3636,7 +4063,7 @@ type SFixed32Rules_Gte struct { // } // // ``` - Gte int32 `protobuf:"fixed32,5,opt,name=gte,proto3,oneof"` + Gte int32 `protobuf:"fixed32,5,opt,name=gte,oneof"` } func (*SFixed32Rules_Gt) isSFixed32Rules_GreaterThan() {} @@ -3645,9 +4072,10 @@ func (*SFixed32Rules_Gte) isSFixed32Rules_GreaterThan() {} // SFixed64Rules describes the constraints applied to `fixed64` values. type SFixed64Rules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. @@ -3660,7 +4088,7 @@ type SFixed64Rules struct { // } // // ``` - Const *int64 `protobuf:"fixed64,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *int64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *SFixed64Rules_Lt @@ -3683,7 +4111,7 @@ type SFixed64Rules struct { // } // // ``` - In []int64 `protobuf:"fixed64,6,rep,packed,name=in,proto3" json:"in,omitempty"` + In []int64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to not be equal to any of the specified // values. If the field value is one of the specified values, an error // message is generated. @@ -3696,13 +4124,28 @@ type SFixed64Rules struct { // } // // ``` - NotIn []int64 `protobuf:"fixed64,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []int64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySFixed64 { + // sfixed64 value = 1 [ + // (buf.validate.field).sfixed64.example = 1, + // (buf.validate.field).sfixed64.example = 2 + // ]; + // } + // + // ``` + Example []int64 `protobuf:"fixed64,8,rep,name=example" json:"example,omitempty"` } func (x *SFixed64Rules) Reset() { *x = SFixed64Rules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[14] + mi := &file_buf_validate_validate_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3715,7 +4158,7 @@ func (x *SFixed64Rules) String() string { func (*SFixed64Rules) ProtoMessage() {} func (x *SFixed64Rules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[14] + mi := &file_buf_validate_validate_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3728,7 +4171,7 @@ func (x *SFixed64Rules) ProtoReflect() protoreflect.Message { // Deprecated: Use SFixed64Rules.ProtoReflect.Descriptor instead. func (*SFixed64Rules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{14} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{16} } func (x *SFixed64Rules) GetConst() int64 { @@ -3794,6 +4237,13 @@ func (x *SFixed64Rules) GetNotIn() []int64 { return nil } +func (x *SFixed64Rules) GetExample() []int64 { + if x != nil { + return x.Example + } + return nil +} + type isSFixed64Rules_LessThan interface { isSFixed64Rules_LessThan() } @@ -3811,7 +4261,7 @@ type SFixed64Rules_Lt struct { // } // // ``` - Lt int64 `protobuf:"fixed64,2,opt,name=lt,proto3,oneof"` + Lt int64 `protobuf:"fixed64,2,opt,name=lt,oneof"` } type SFixed64Rules_Lte struct { @@ -3827,7 +4277,7 @@ type SFixed64Rules_Lte struct { // } // // ``` - Lte int64 `protobuf:"fixed64,3,opt,name=lte,proto3,oneof"` + Lte int64 `protobuf:"fixed64,3,opt,name=lte,oneof"` } func (*SFixed64Rules_Lt) isSFixed64Rules_LessThan() {} @@ -3859,7 +4309,7 @@ type SFixed64Rules_Gt struct { // } // // ``` - Gt int64 `protobuf:"fixed64,4,opt,name=gt,proto3,oneof"` + Gt int64 `protobuf:"fixed64,4,opt,name=gt,oneof"` } type SFixed64Rules_Gte struct { @@ -3883,7 +4333,7 @@ type SFixed64Rules_Gte struct { // } // // ``` - Gte int64 `protobuf:"fixed64,5,opt,name=gte,proto3,oneof"` + Gte int64 `protobuf:"fixed64,5,opt,name=gte,oneof"` } func (*SFixed64Rules_Gt) isSFixed64Rules_GreaterThan() {} @@ -3893,9 +4343,10 @@ func (*SFixed64Rules_Gte) isSFixed64Rules_GreaterThan() {} // BoolRules describes the constraints applied to `bool` values. These rules // may also be applied to the `google.protobuf.BoolValue` Well-Known-Type. type BoolRules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified boolean value. // If the field value doesn't match, an error message is generated. @@ -3908,13 +4359,28 @@ type BoolRules struct { // } // // ``` - Const *bool `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *bool `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyBool { + // bool value = 1 [ + // (buf.validate.field).bool.example = 1, + // (buf.validate.field).bool.example = 2 + // ]; + // } + // + // ``` + Example []bool `protobuf:"varint,2,rep,name=example" json:"example,omitempty"` } func (x *BoolRules) Reset() { *x = BoolRules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[15] + mi := &file_buf_validate_validate_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3927,7 +4393,7 @@ func (x *BoolRules) String() string { func (*BoolRules) ProtoMessage() {} func (x *BoolRules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[15] + mi := &file_buf_validate_validate_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3940,7 +4406,7 @@ func (x *BoolRules) ProtoReflect() protoreflect.Message { // Deprecated: Use BoolRules.ProtoReflect.Descriptor instead. func (*BoolRules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{15} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{17} } func (x *BoolRules) GetConst() bool { @@ -3950,12 +4416,20 @@ func (x *BoolRules) GetConst() bool { return false } +func (x *BoolRules) GetExample() []bool { + if x != nil { + return x.Example + } + return nil +} + // StringRules describes the constraints applied to `string` values These // rules may also be applied to the `google.protobuf.StringValue` Well-Known-Type. type StringRules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified value. If // the field value doesn't match, an error message is generated. @@ -3968,7 +4442,7 @@ type StringRules struct { // } // // ``` - Const *string `protobuf:"bytes,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *string `protobuf:"bytes,1,opt,name=const" json:"const,omitempty"` // `len` dictates that the field value must have the specified // number of characters (Unicode code points), which may differ from the number // of bytes in the string. If the field value does not meet the specified @@ -3982,7 +4456,7 @@ type StringRules struct { // } // // ``` - Len *uint64 `protobuf:"varint,19,opt,name=len,proto3,oneof" json:"len,omitempty"` + Len *uint64 `protobuf:"varint,19,opt,name=len" json:"len,omitempty"` // `min_len` specifies that the field value must have at least the specified // number of characters (Unicode code points), which may differ from the number // of bytes in the string. If the field value contains fewer characters, an error @@ -3996,7 +4470,7 @@ type StringRules struct { // } // // ``` - MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen,proto3,oneof" json:"min_len,omitempty"` + MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen" json:"min_len,omitempty"` // `max_len` specifies that the field value must have no more than the specified // number of characters (Unicode code points), which may differ from the // number of bytes in the string. If the field value contains more characters, @@ -4010,7 +4484,7 @@ type StringRules struct { // } // // ``` - MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen,proto3,oneof" json:"max_len,omitempty"` + MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen" json:"max_len,omitempty"` // `len_bytes` dictates that the field value must have the specified number of // bytes. If the field value does not match the specified length in bytes, // an error message will be generated. @@ -4023,7 +4497,7 @@ type StringRules struct { // } // // ``` - LenBytes *uint64 `protobuf:"varint,20,opt,name=len_bytes,json=lenBytes,proto3,oneof" json:"len_bytes,omitempty"` + LenBytes *uint64 `protobuf:"varint,20,opt,name=len_bytes,json=lenBytes" json:"len_bytes,omitempty"` // `min_bytes` specifies that the field value must have at least the specified // number of bytes. If the field value contains fewer bytes, an error message // will be generated. @@ -4036,7 +4510,7 @@ type StringRules struct { // } // // ``` - MinBytes *uint64 `protobuf:"varint,4,opt,name=min_bytes,json=minBytes,proto3,oneof" json:"min_bytes,omitempty"` + MinBytes *uint64 `protobuf:"varint,4,opt,name=min_bytes,json=minBytes" json:"min_bytes,omitempty"` // `max_bytes` specifies that the field value must have no more than the // specified number of bytes. If the field value contains more bytes, an // error message will be generated. @@ -4049,7 +4523,7 @@ type StringRules struct { // } // // ``` - MaxBytes *uint64 `protobuf:"varint,5,opt,name=max_bytes,json=maxBytes,proto3,oneof" json:"max_bytes,omitempty"` + MaxBytes *uint64 `protobuf:"varint,5,opt,name=max_bytes,json=maxBytes" json:"max_bytes,omitempty"` // `pattern` specifies that the field value must match the specified // regular expression (RE2 syntax), with the expression provided without any // delimiters. If the field value doesn't match the regular expression, an @@ -4063,7 +4537,7 @@ type StringRules struct { // } // // ``` - Pattern *string `protobuf:"bytes,6,opt,name=pattern,proto3,oneof" json:"pattern,omitempty"` + Pattern *string `protobuf:"bytes,6,opt,name=pattern" json:"pattern,omitempty"` // `prefix` specifies that the field value must have the // specified substring at the beginning of the string. If the field value // doesn't start with the specified prefix, an error message will be @@ -4077,7 +4551,7 @@ type StringRules struct { // } // // ``` - Prefix *string `protobuf:"bytes,7,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"` + Prefix *string `protobuf:"bytes,7,opt,name=prefix" json:"prefix,omitempty"` // `suffix` specifies that the field value must have the // specified substring at the end of the string. If the field value doesn't // end with the specified suffix, an error message will be generated. @@ -4090,7 +4564,7 @@ type StringRules struct { // } // // ``` - Suffix *string `protobuf:"bytes,8,opt,name=suffix,proto3,oneof" json:"suffix,omitempty"` + Suffix *string `protobuf:"bytes,8,opt,name=suffix" json:"suffix,omitempty"` // `contains` specifies that the field value must have the // specified substring anywhere in the string. If the field value doesn't // contain the specified substring, an error message will be generated. @@ -4103,7 +4577,7 @@ type StringRules struct { // } // // ``` - Contains *string `protobuf:"bytes,9,opt,name=contains,proto3,oneof" json:"contains,omitempty"` + Contains *string `protobuf:"bytes,9,opt,name=contains" json:"contains,omitempty"` // `not_contains` specifies that the field value must not have the // specified substring anywhere in the string. If the field value contains // the specified substring, an error message will be generated. @@ -4116,7 +4590,7 @@ type StringRules struct { // } // // ``` - NotContains *string `protobuf:"bytes,23,opt,name=not_contains,json=notContains,proto3,oneof" json:"not_contains,omitempty"` + NotContains *string `protobuf:"bytes,23,opt,name=not_contains,json=notContains" json:"not_contains,omitempty"` // `in` specifies that the field value must be equal to one of the specified // values. If the field value isn't one of the specified values, an error // message will be generated. @@ -4129,7 +4603,7 @@ type StringRules struct { // } // // ``` - In []string `protobuf:"bytes,10,rep,name=in,proto3" json:"in,omitempty"` + In []string `protobuf:"bytes,10,rep,name=in" json:"in,omitempty"` // `not_in` specifies that the field value cannot be equal to any // of the specified values. If the field value is one of the specified values, // an error message will be generated. @@ -4141,7 +4615,7 @@ type StringRules struct { // } // // ``` - NotIn []string `protobuf:"bytes,11,rep,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []string `protobuf:"bytes,11,rep,name=not_in,json=notIn" json:"not_in,omitempty"` // `WellKnown` rules provide advanced constraints against common string // patterns // @@ -4180,13 +4654,28 @@ type StringRules struct { // } // // ``` - Strict *bool `protobuf:"varint,25,opt,name=strict,proto3,oneof" json:"strict,omitempty"` + Strict *bool `protobuf:"varint,25,opt,name=strict" json:"strict,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyString { + // string value = 1 [ + // (buf.validate.field).string.example = 1, + // (buf.validate.field).string.example = 2 + // ]; + // } + // + // ``` + Example []string `protobuf:"bytes,34,rep,name=example" json:"example,omitempty"` } func (x *StringRules) Reset() { *x = StringRules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[16] + mi := &file_buf_validate_validate_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4199,7 +4688,7 @@ func (x *StringRules) String() string { func (*StringRules) ProtoMessage() {} func (x *StringRules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[16] + mi := &file_buf_validate_validate_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4212,7 +4701,7 @@ func (x *StringRules) ProtoReflect() protoreflect.Message { // Deprecated: Use StringRules.ProtoReflect.Descriptor instead. func (*StringRules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{16} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{18} } func (x *StringRules) GetConst() string { @@ -4453,6 +4942,13 @@ func (x *StringRules) GetStrict() bool { return false } +func (x *StringRules) GetExample() []string { + if x != nil { + return x.Example + } + return nil +} + type isStringRules_WellKnown interface { isStringRules_WellKnown() } @@ -4470,7 +4966,7 @@ type StringRules_Email struct { // } // // ``` - Email bool `protobuf:"varint,12,opt,name=email,proto3,oneof"` + Email bool `protobuf:"varint,12,opt,name=email,oneof"` } type StringRules_Hostname struct { @@ -4487,7 +4983,7 @@ type StringRules_Hostname struct { // } // // ``` - Hostname bool `protobuf:"varint,13,opt,name=hostname,proto3,oneof"` + Hostname bool `protobuf:"varint,13,opt,name=hostname,oneof"` } type StringRules_Ip struct { @@ -4504,7 +5000,7 @@ type StringRules_Ip struct { // } // // ``` - Ip bool `protobuf:"varint,14,opt,name=ip,proto3,oneof"` + Ip bool `protobuf:"varint,14,opt,name=ip,oneof"` } type StringRules_Ipv4 struct { @@ -4520,7 +5016,7 @@ type StringRules_Ipv4 struct { // } // // ``` - Ipv4 bool `protobuf:"varint,15,opt,name=ipv4,proto3,oneof"` + Ipv4 bool `protobuf:"varint,15,opt,name=ipv4,oneof"` } type StringRules_Ipv6 struct { @@ -4536,7 +5032,7 @@ type StringRules_Ipv6 struct { // } // // ``` - Ipv6 bool `protobuf:"varint,16,opt,name=ipv6,proto3,oneof"` + Ipv6 bool `protobuf:"varint,16,opt,name=ipv6,oneof"` } type StringRules_Uri struct { @@ -4552,7 +5048,7 @@ type StringRules_Uri struct { // } // // ``` - Uri bool `protobuf:"varint,17,opt,name=uri,proto3,oneof"` + Uri bool `protobuf:"varint,17,opt,name=uri,oneof"` } type StringRules_UriRef struct { @@ -4568,7 +5064,7 @@ type StringRules_UriRef struct { // } // // ``` - UriRef bool `protobuf:"varint,18,opt,name=uri_ref,json=uriRef,proto3,oneof"` + UriRef bool `protobuf:"varint,18,opt,name=uri_ref,json=uriRef,oneof"` } type StringRules_Address struct { @@ -4586,7 +5082,7 @@ type StringRules_Address struct { // } // // ``` - Address bool `protobuf:"varint,21,opt,name=address,proto3,oneof"` + Address bool `protobuf:"varint,21,opt,name=address,oneof"` } type StringRules_Uuid struct { @@ -4602,7 +5098,7 @@ type StringRules_Uuid struct { // } // // ``` - Uuid bool `protobuf:"varint,22,opt,name=uuid,proto3,oneof"` + Uuid bool `protobuf:"varint,22,opt,name=uuid,oneof"` } type StringRules_Tuuid struct { @@ -4619,7 +5115,7 @@ type StringRules_Tuuid struct { // } // // ``` - Tuuid bool `protobuf:"varint,33,opt,name=tuuid,proto3,oneof"` + Tuuid bool `protobuf:"varint,33,opt,name=tuuid,oneof"` } type StringRules_IpWithPrefixlen struct { @@ -4635,7 +5131,7 @@ type StringRules_IpWithPrefixlen struct { // } // // ``` - IpWithPrefixlen bool `protobuf:"varint,26,opt,name=ip_with_prefixlen,json=ipWithPrefixlen,proto3,oneof"` + IpWithPrefixlen bool `protobuf:"varint,26,opt,name=ip_with_prefixlen,json=ipWithPrefixlen,oneof"` } type StringRules_Ipv4WithPrefixlen struct { @@ -4652,7 +5148,7 @@ type StringRules_Ipv4WithPrefixlen struct { // } // // ``` - Ipv4WithPrefixlen bool `protobuf:"varint,27,opt,name=ipv4_with_prefixlen,json=ipv4WithPrefixlen,proto3,oneof"` + Ipv4WithPrefixlen bool `protobuf:"varint,27,opt,name=ipv4_with_prefixlen,json=ipv4WithPrefixlen,oneof"` } type StringRules_Ipv6WithPrefixlen struct { @@ -4669,7 +5165,7 @@ type StringRules_Ipv6WithPrefixlen struct { // } // // ``` - Ipv6WithPrefixlen bool `protobuf:"varint,28,opt,name=ipv6_with_prefixlen,json=ipv6WithPrefixlen,proto3,oneof"` + Ipv6WithPrefixlen bool `protobuf:"varint,28,opt,name=ipv6_with_prefixlen,json=ipv6WithPrefixlen,oneof"` } type StringRules_IpPrefix struct { @@ -4686,7 +5182,7 @@ type StringRules_IpPrefix struct { // } // // ``` - IpPrefix bool `protobuf:"varint,29,opt,name=ip_prefix,json=ipPrefix,proto3,oneof"` + IpPrefix bool `protobuf:"varint,29,opt,name=ip_prefix,json=ipPrefix,oneof"` } type StringRules_Ipv4Prefix struct { @@ -4703,7 +5199,7 @@ type StringRules_Ipv4Prefix struct { // } // // ``` - Ipv4Prefix bool `protobuf:"varint,30,opt,name=ipv4_prefix,json=ipv4Prefix,proto3,oneof"` + Ipv4Prefix bool `protobuf:"varint,30,opt,name=ipv4_prefix,json=ipv4Prefix,oneof"` } type StringRules_Ipv6Prefix struct { @@ -4720,7 +5216,7 @@ type StringRules_Ipv6Prefix struct { // } // // ``` - Ipv6Prefix bool `protobuf:"varint,31,opt,name=ipv6_prefix,json=ipv6Prefix,proto3,oneof"` + Ipv6Prefix bool `protobuf:"varint,31,opt,name=ipv6_prefix,json=ipv6Prefix,oneof"` } type StringRules_HostAndPort struct { @@ -4728,7 +5224,7 @@ type StringRules_HostAndPort struct { // pair. The host must be a valid hostname or IP address while the port // must be in the range of 0-65535, inclusive. IPv6 addresses must be delimited // with square brackets (e.g., `[::1]:1234`). - HostAndPort bool `protobuf:"varint,32,opt,name=host_and_port,json=hostAndPort,proto3,oneof"` + HostAndPort bool `protobuf:"varint,32,opt,name=host_and_port,json=hostAndPort,oneof"` } type StringRules_WellKnownRegex struct { @@ -4754,7 +5250,7 @@ type StringRules_WellKnownRegex struct { // | KNOWN_REGEX_UNSPECIFIED | 0 | | // | KNOWN_REGEX_HTTP_HEADER_NAME | 1 | HTTP header name as defined by [RFC 7230](https://tools.ietf.org/html/rfc7230#section-3.2) | // | KNOWN_REGEX_HTTP_HEADER_VALUE | 2 | HTTP header value as defined by [RFC 7230](https://tools.ietf.org/html/rfc7230#section-3.2.4) | - WellKnownRegex KnownRegex `protobuf:"varint,24,opt,name=well_known_regex,json=wellKnownRegex,proto3,enum=buf.validate.KnownRegex,oneof"` + WellKnownRegex KnownRegex `protobuf:"varint,24,opt,name=well_known_regex,json=wellKnownRegex,enum=buf.validate.KnownRegex,oneof"` } func (*StringRules_Email) isStringRules_WellKnown() {} @@ -4796,9 +5292,10 @@ func (*StringRules_WellKnownRegex) isStringRules_WellKnown() {} // BytesRules describe the constraints applied to `bytes` values. These rules // may also be applied to the `google.protobuf.BytesValue` Well-Known-Type. type BytesRules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified bytes // value. If the field value doesn't match, an error message is generated. @@ -4811,7 +5308,7 @@ type BytesRules struct { // } // // ``` - Const []byte `protobuf:"bytes,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const []byte `protobuf:"bytes,1,opt,name=const" json:"const,omitempty"` // `len` requires the field value to have the specified length in bytes. // If the field value doesn't match, an error message is generated. // @@ -4823,7 +5320,7 @@ type BytesRules struct { // } // // ``` - Len *uint64 `protobuf:"varint,13,opt,name=len,proto3,oneof" json:"len,omitempty"` + Len *uint64 `protobuf:"varint,13,opt,name=len" json:"len,omitempty"` // `min_len` requires the field value to have at least the specified minimum // length in bytes. // If the field value doesn't meet the requirement, an error message is generated. @@ -4836,7 +5333,7 @@ type BytesRules struct { // } // // ``` - MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen,proto3,oneof" json:"min_len,omitempty"` + MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen" json:"min_len,omitempty"` // `max_len` requires the field value to have at most the specified maximum // length in bytes. // If the field value exceeds the requirement, an error message is generated. @@ -4849,7 +5346,7 @@ type BytesRules struct { // } // // ``` - MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen,proto3,oneof" json:"max_len,omitempty"` + MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen" json:"max_len,omitempty"` // `pattern` requires the field value to match the specified regular // expression ([RE2 syntax](https://github.com/google/re2/wiki/Syntax)). // The value of the field must be valid UTF-8 or validation will fail with a @@ -4864,7 +5361,7 @@ type BytesRules struct { // } // // ``` - Pattern *string `protobuf:"bytes,4,opt,name=pattern,proto3,oneof" json:"pattern,omitempty"` + Pattern *string `protobuf:"bytes,4,opt,name=pattern" json:"pattern,omitempty"` // `prefix` requires the field value to have the specified bytes at the // beginning of the string. // If the field value doesn't meet the requirement, an error message is generated. @@ -4877,7 +5374,7 @@ type BytesRules struct { // } // // ``` - Prefix []byte `protobuf:"bytes,5,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"` + Prefix []byte `protobuf:"bytes,5,opt,name=prefix" json:"prefix,omitempty"` // `suffix` requires the field value to have the specified bytes at the end // of the string. // If the field value doesn't meet the requirement, an error message is generated. @@ -4890,7 +5387,7 @@ type BytesRules struct { // } // // ``` - Suffix []byte `protobuf:"bytes,6,opt,name=suffix,proto3,oneof" json:"suffix,omitempty"` + Suffix []byte `protobuf:"bytes,6,opt,name=suffix" json:"suffix,omitempty"` // `contains` requires the field value to have the specified bytes anywhere in // the string. // If the field value doesn't meet the requirement, an error message is generated. @@ -4903,7 +5400,7 @@ type BytesRules struct { // } // // ``` - Contains []byte `protobuf:"bytes,7,opt,name=contains,proto3,oneof" json:"contains,omitempty"` + Contains []byte `protobuf:"bytes,7,opt,name=contains" json:"contains,omitempty"` // `in` requires the field value to be equal to one of the specified // values. If the field value doesn't match any of the specified values, an // error message is generated. @@ -4916,7 +5413,7 @@ type BytesRules struct { // } // // ``` - In [][]byte `protobuf:"bytes,8,rep,name=in,proto3" json:"in,omitempty"` + In [][]byte `protobuf:"bytes,8,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to be not equal to any of the specified // values. // If the field value matches any of the specified values, an error message is @@ -4930,7 +5427,7 @@ type BytesRules struct { // } // // ``` - NotIn [][]byte `protobuf:"bytes,9,rep,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn [][]byte `protobuf:"bytes,9,rep,name=not_in,json=notIn" json:"not_in,omitempty"` // WellKnown rules provide advanced constraints against common byte // patterns // @@ -4940,12 +5437,27 @@ type BytesRules struct { // *BytesRules_Ipv4 // *BytesRules_Ipv6 WellKnown isBytesRules_WellKnown `protobuf_oneof:"well_known"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyBytes { + // bytes value = 1 [ + // (buf.validate.field).bytes.example = "\x01\x02", + // (buf.validate.field).bytes.example = "\x02\x03" + // ]; + // } + // + // ``` + Example [][]byte `protobuf:"bytes,14,rep,name=example" json:"example,omitempty"` } func (x *BytesRules) Reset() { *x = BytesRules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[17] + mi := &file_buf_validate_validate_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4958,7 +5470,7 @@ func (x *BytesRules) String() string { func (*BytesRules) ProtoMessage() {} func (x *BytesRules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[17] + mi := &file_buf_validate_validate_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4971,7 +5483,7 @@ func (x *BytesRules) ProtoReflect() protoreflect.Message { // Deprecated: Use BytesRules.ProtoReflect.Descriptor instead. func (*BytesRules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{17} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{19} } func (x *BytesRules) GetConst() []byte { @@ -5072,6 +5584,13 @@ func (x *BytesRules) GetIpv6() bool { return false } +func (x *BytesRules) GetExample() [][]byte { + if x != nil { + return x.Example + } + return nil +} + type isBytesRules_WellKnown interface { isBytesRules_WellKnown() } @@ -5088,7 +5607,7 @@ type BytesRules_Ip struct { // } // // ``` - Ip bool `protobuf:"varint,10,opt,name=ip,proto3,oneof"` + Ip bool `protobuf:"varint,10,opt,name=ip,oneof"` } type BytesRules_Ipv4 struct { @@ -5103,7 +5622,7 @@ type BytesRules_Ipv4 struct { // } // // ``` - Ipv4 bool `protobuf:"varint,11,opt,name=ipv4,proto3,oneof"` + Ipv4 bool `protobuf:"varint,11,opt,name=ipv4,oneof"` } type BytesRules_Ipv6 struct { @@ -5117,7 +5636,7 @@ type BytesRules_Ipv6 struct { // } // // ``` - Ipv6 bool `protobuf:"varint,12,opt,name=ipv6,proto3,oneof"` + Ipv6 bool `protobuf:"varint,12,opt,name=ipv6,oneof"` } func (*BytesRules_Ip) isBytesRules_WellKnown() {} @@ -5128,9 +5647,10 @@ 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 + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` requires the field value to exactly match the specified enum value. // If the field value doesn't match, an error message is generated. @@ -5149,7 +5669,7 @@ type EnumRules struct { // } // // ``` - Const *int32 `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *int32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` // `defined_only` requires the field value to be one of the defined values for // this enum, failing on any undefined value. // @@ -5167,7 +5687,7 @@ type EnumRules struct { // } // // ``` - DefinedOnly *bool `protobuf:"varint,2,opt,name=defined_only,json=definedOnly,proto3,oneof" json:"defined_only,omitempty"` + DefinedOnly *bool `protobuf:"varint,2,opt,name=defined_only,json=definedOnly" json:"defined_only,omitempty"` // `in` requires the field value to be equal to one of the // specified enum values. If the field value doesn't match any of the // specified values, an error message is generated. @@ -5186,7 +5706,7 @@ type EnumRules struct { // } // // ``` - In []int32 `protobuf:"varint,3,rep,packed,name=in,proto3" json:"in,omitempty"` + In []int32 `protobuf:"varint,3,rep,name=in" json:"in,omitempty"` // `not_in` requires the field value to be not equal to any of the // specified enum values. If the field value matches one of the specified // values, an error message is generated. @@ -5205,13 +5725,32 @@ type EnumRules struct { // } // // ``` - NotIn []int32 `protobuf:"varint,4,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []int32 `protobuf:"varint,4,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // (buf.validate.field).enum.example = 1, + // (buf.validate.field).enum.example = 2 + // } + // + // ``` + Example []int32 `protobuf:"varint,5,rep,name=example" json:"example,omitempty"` } func (x *EnumRules) Reset() { *x = EnumRules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[18] + mi := &file_buf_validate_validate_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5224,7 +5763,7 @@ func (x *EnumRules) String() string { func (*EnumRules) ProtoMessage() {} func (x *EnumRules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[18] + mi := &file_buf_validate_validate_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5237,7 +5776,7 @@ func (x *EnumRules) ProtoReflect() protoreflect.Message { // Deprecated: Use EnumRules.ProtoReflect.Descriptor instead. func (*EnumRules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{18} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{20} } func (x *EnumRules) GetConst() int32 { @@ -5268,11 +5807,19 @@ func (x *EnumRules) GetNotIn() []int32 { return nil } +func (x *EnumRules) GetExample() []int32 { + if x != nil { + return x.Example + } + return nil +} + // RepeatedRules describe the constraints applied to `repeated` values. type RepeatedRules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `min_items` requires that this field must contain at least the specified // minimum number of items. @@ -5287,7 +5834,7 @@ type RepeatedRules struct { // } // // ``` - MinItems *uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems,proto3,oneof" json:"min_items,omitempty"` + MinItems *uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems" json:"min_items,omitempty"` // `max_items` denotes that this field must not exceed a // certain number of items as the upper limit. If the field contains more // items than specified, an error message will be generated, requiring the @@ -5301,7 +5848,7 @@ type RepeatedRules struct { // } // // ``` - MaxItems *uint64 `protobuf:"varint,2,opt,name=max_items,json=maxItems,proto3,oneof" json:"max_items,omitempty"` + MaxItems *uint64 `protobuf:"varint,2,opt,name=max_items,json=maxItems" json:"max_items,omitempty"` // `unique` indicates that all elements in this field must // be unique. This constraint is strictly applicable to scalar and enum // types, with message types not being supported. @@ -5314,7 +5861,7 @@ type RepeatedRules struct { // } // // ``` - Unique *bool `protobuf:"varint,3,opt,name=unique,proto3,oneof" json:"unique,omitempty"` + Unique *bool `protobuf:"varint,3,opt,name=unique" json:"unique,omitempty"` // `items` details the constraints to be applied to each item // in the field. Even for repeated message fields, validation is executed // against each item unless skip is explicitly specified. @@ -5332,13 +5879,13 @@ type RepeatedRules struct { // } // // ``` - Items *FieldConstraints `protobuf:"bytes,4,opt,name=items,proto3,oneof" json:"items,omitempty"` + Items *FieldConstraints `protobuf:"bytes,4,opt,name=items" json:"items,omitempty"` } func (x *RepeatedRules) Reset() { *x = RepeatedRules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[19] + mi := &file_buf_validate_validate_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5351,7 +5898,7 @@ func (x *RepeatedRules) String() string { func (*RepeatedRules) ProtoMessage() {} func (x *RepeatedRules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[19] + mi := &file_buf_validate_validate_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5364,7 +5911,7 @@ func (x *RepeatedRules) ProtoReflect() protoreflect.Message { // Deprecated: Use RepeatedRules.ProtoReflect.Descriptor instead. func (*RepeatedRules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{19} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{21} } func (x *RepeatedRules) GetMinItems() uint64 { @@ -5397,9 +5944,10 @@ func (x *RepeatedRules) GetItems() *FieldConstraints { // MapRules describe the constraints applied to `map` values. type MapRules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // Specifies the minimum number of key-value pairs allowed. If the field has // fewer key-value pairs than specified, an error message is generated. @@ -5412,7 +5960,7 @@ type MapRules struct { // } // // ``` - MinPairs *uint64 `protobuf:"varint,1,opt,name=min_pairs,json=minPairs,proto3,oneof" json:"min_pairs,omitempty"` + MinPairs *uint64 `protobuf:"varint,1,opt,name=min_pairs,json=minPairs" json:"min_pairs,omitempty"` // Specifies the maximum number of key-value pairs allowed. If the field has // more key-value pairs than specified, an error message is generated. // @@ -5424,7 +5972,7 @@ type MapRules struct { // } // // ``` - MaxPairs *uint64 `protobuf:"varint,2,opt,name=max_pairs,json=maxPairs,proto3,oneof" json:"max_pairs,omitempty"` + MaxPairs *uint64 `protobuf:"varint,2,opt,name=max_pairs,json=maxPairs" json:"max_pairs,omitempty"` // Specifies the constraints to be applied to each key in the field. // // ```proto @@ -5440,7 +5988,7 @@ type MapRules struct { // } // // ``` - Keys *FieldConstraints `protobuf:"bytes,4,opt,name=keys,proto3,oneof" json:"keys,omitempty"` + Keys *FieldConstraints `protobuf:"bytes,4,opt,name=keys" json:"keys,omitempty"` // 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. @@ -5458,13 +6006,13 @@ type MapRules struct { // } // // ``` - Values *FieldConstraints `protobuf:"bytes,5,opt,name=values,proto3,oneof" json:"values,omitempty"` + Values *FieldConstraints `protobuf:"bytes,5,opt,name=values" json:"values,omitempty"` } func (x *MapRules) Reset() { *x = MapRules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[20] + mi := &file_buf_validate_validate_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5477,7 +6025,7 @@ func (x *MapRules) String() string { func (*MapRules) ProtoMessage() {} func (x *MapRules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[20] + mi := &file_buf_validate_validate_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5490,7 +6038,7 @@ func (x *MapRules) ProtoReflect() protoreflect.Message { // Deprecated: Use MapRules.ProtoReflect.Descriptor instead. func (*MapRules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{20} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{22} } func (x *MapRules) GetMinPairs() uint64 { @@ -5539,7 +6087,7 @@ type AnyRules struct { // } // // ``` - In []string `protobuf:"bytes,2,rep,name=in,proto3" json:"in,omitempty"` + In []string `protobuf:"bytes,2,rep,name=in" json:"in,omitempty"` // requires the field's type_url to be not equal to any of the specified values. If it matches any of the specified values, an error message is generated. // // ```proto @@ -5550,13 +6098,13 @@ type AnyRules struct { // } // // ``` - NotIn []string `protobuf:"bytes,3,rep,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + 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_buf_validate_validate_proto_msgTypes[21] + mi := &file_buf_validate_validate_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5569,7 +6117,7 @@ func (x *AnyRules) String() string { func (*AnyRules) ProtoMessage() {} func (x *AnyRules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[21] + mi := &file_buf_validate_validate_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5582,7 +6130,7 @@ func (x *AnyRules) ProtoReflect() protoreflect.Message { // Deprecated: Use AnyRules.ProtoReflect.Descriptor instead. func (*AnyRules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{21} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{23} } func (x *AnyRules) GetIn() []string { @@ -5601,9 +6149,10 @@ func (x *AnyRules) GetNotIn() []string { // 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 + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` dictates that the field must match the specified value of the `google.protobuf.Duration` type exactly. // If the field's value deviates from the specified value, an error message @@ -5617,7 +6166,7 @@ type DurationRules struct { // } // // ``` - Const *durationpb.Duration `protobuf:"bytes,2,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *durationpb.Duration `protobuf:"bytes,2,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *DurationRules_Lt @@ -5640,7 +6189,7 @@ type DurationRules struct { // } // // ``` - In []*durationpb.Duration `protobuf:"bytes,7,rep,name=in,proto3" json:"in,omitempty"` + In []*durationpb.Duration `protobuf:"bytes,7,rep,name=in" json:"in,omitempty"` // `not_in` denotes that the field must not be equal to // any of the specified values of the `google.protobuf.Duration` type. // If the field's value matches any of these values, an error message will be @@ -5654,13 +6203,28 @@ type DurationRules struct { // } // // ``` - NotIn []*durationpb.Duration `protobuf:"bytes,8,rep,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + NotIn []*durationpb.Duration `protobuf:"bytes,8,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other constraints. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyDuration { + // google.protobuf.Duration value = 1 [ + // (buf.validate.field).duration.example = { seconds: 1 }, + // (buf.validate.field).duration.example = { seconds: 2 }, + // ]; + // } + // + // ``` + Example []*durationpb.Duration `protobuf:"bytes,9,rep,name=example" json:"example,omitempty"` } func (x *DurationRules) Reset() { *x = DurationRules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[22] + mi := &file_buf_validate_validate_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5673,7 +6237,7 @@ func (x *DurationRules) String() string { func (*DurationRules) ProtoMessage() {} func (x *DurationRules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[22] + mi := &file_buf_validate_validate_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5686,7 +6250,7 @@ func (x *DurationRules) ProtoReflect() protoreflect.Message { // Deprecated: Use DurationRules.ProtoReflect.Descriptor instead. func (*DurationRules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{22} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{24} } func (x *DurationRules) GetConst() *durationpb.Duration { @@ -5752,6 +6316,13 @@ func (x *DurationRules) GetNotIn() []*durationpb.Duration { return nil } +func (x *DurationRules) GetExample() []*durationpb.Duration { + if x != nil { + return x.Example + } + return nil +} + type isDurationRules_LessThan interface { isDurationRules_LessThan() } @@ -5769,7 +6340,7 @@ type DurationRules_Lt struct { // } // // ``` - Lt *durationpb.Duration `protobuf:"bytes,3,opt,name=lt,proto3,oneof"` + Lt *durationpb.Duration `protobuf:"bytes,3,opt,name=lt,oneof"` } type DurationRules_Lte struct { @@ -5785,7 +6356,7 @@ type DurationRules_Lte struct { // } // // ``` - Lte *durationpb.Duration `protobuf:"bytes,4,opt,name=lte,proto3,oneof"` + Lte *durationpb.Duration `protobuf:"bytes,4,opt,name=lte,oneof"` } func (*DurationRules_Lt) isDurationRules_LessThan() {} @@ -5817,7 +6388,7 @@ type DurationRules_Gt struct { // } // // ``` - Gt *durationpb.Duration `protobuf:"bytes,5,opt,name=gt,proto3,oneof"` + Gt *durationpb.Duration `protobuf:"bytes,5,opt,name=gt,oneof"` } type DurationRules_Gte struct { @@ -5841,7 +6412,7 @@ type DurationRules_Gte struct { // } // // ``` - Gte *durationpb.Duration `protobuf:"bytes,6,opt,name=gte,proto3,oneof"` + Gte *durationpb.Duration `protobuf:"bytes,6,opt,name=gte,oneof"` } func (*DurationRules_Gt) isDurationRules_GreaterThan() {} @@ -5850,9 +6421,10 @@ func (*DurationRules_Gte) isDurationRules_GreaterThan() {} // 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 + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields // `const` dictates that this field, of the `google.protobuf.Timestamp` type, must exactly match the specified value. If the field value doesn't correspond to the specified timestamp, an error message will be generated. // @@ -5864,7 +6436,7 @@ type TimestampRules struct { // } // // ``` - Const *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=const,proto3,oneof" json:"const,omitempty"` + Const *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=const" json:"const,omitempty"` // Types that are assignable to LessThan: // // *TimestampRules_Lt @@ -5887,13 +6459,14 @@ type TimestampRules struct { // } // // ``` - Within *durationpb.Duration `protobuf:"bytes,9,opt,name=within,proto3,oneof" json:"within,omitempty"` + Within *durationpb.Duration `protobuf:"bytes,9,opt,name=within" json:"within,omitempty"` + Example []*timestamppb.Timestamp `protobuf:"bytes,10,rep,name=example" json:"example,omitempty"` } func (x *TimestampRules) Reset() { *x = TimestampRules{} if protoimpl.UnsafeEnabled { - mi := &file_buf_validate_validate_proto_msgTypes[23] + mi := &file_buf_validate_validate_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5906,7 +6479,7 @@ func (x *TimestampRules) String() string { func (*TimestampRules) ProtoMessage() {} func (x *TimestampRules) ProtoReflect() protoreflect.Message { - mi := &file_buf_validate_validate_proto_msgTypes[23] + mi := &file_buf_validate_validate_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5919,7 +6492,7 @@ func (x *TimestampRules) ProtoReflect() protoreflect.Message { // Deprecated: Use TimestampRules.ProtoReflect.Descriptor instead. func (*TimestampRules) Descriptor() ([]byte, []int) { - return file_buf_validate_validate_proto_rawDescGZIP(), []int{23} + return file_buf_validate_validate_proto_rawDescGZIP(), []int{25} } func (x *TimestampRules) GetConst() *timestamppb.Timestamp { @@ -5992,6 +6565,13 @@ func (x *TimestampRules) GetWithin() *durationpb.Duration { return nil } +func (x *TimestampRules) GetExample() []*timestamppb.Timestamp { + if x != nil { + return x.Example + } + return nil +} + type isTimestampRules_LessThan interface { isTimestampRules_LessThan() } @@ -6007,7 +6587,7 @@ type TimestampRules_Lt struct { // } // // ``` - Lt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lt,proto3,oneof"` + Lt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lt,oneof"` } type TimestampRules_Lte struct { @@ -6021,7 +6601,7 @@ type TimestampRules_Lte struct { // } // // ``` - Lte *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=lte,proto3,oneof"` + Lte *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=lte,oneof"` } type TimestampRules_LtNow struct { @@ -6035,7 +6615,7 @@ type TimestampRules_LtNow struct { // } // // ``` - LtNow bool `protobuf:"varint,7,opt,name=lt_now,json=ltNow,proto3,oneof"` + LtNow bool `protobuf:"varint,7,opt,name=lt_now,json=ltNow,oneof"` } func (*TimestampRules_Lt) isTimestampRules_LessThan() {} @@ -6069,7 +6649,7 @@ type TimestampRules_Gt struct { // } // // ``` - Gt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=gt,proto3,oneof"` + Gt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=gt,oneof"` } type TimestampRules_Gte struct { @@ -6093,7 +6673,7 @@ type TimestampRules_Gte struct { // } // // ``` - Gte *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=gte,proto3,oneof"` + Gte *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=gte,oneof"` } type TimestampRules_GtNow struct { @@ -6107,7 +6687,7 @@ type TimestampRules_GtNow struct { // } // // ``` - GtNow bool `protobuf:"varint,8,opt,name=gt_now,json=gtNow,proto3,oneof"` + GtNow bool `protobuf:"varint,8,opt,name=gt_now,json=gtNow,oneof"` } func (*TimestampRules_Gt) isTimestampRules_GreaterThan() {} @@ -6116,6 +6696,149 @@ func (*TimestampRules_Gte) isTimestampRules_GreaterThan() {} func (*TimestampRules_GtNow) isTimestampRules_GreaterThan() {} +// `Violations` is a collection of `Violation` messages. This message type is returned by +// protovalidate when a proto message fails to meet the requirements set by the `Constraint` validation rules. +// Each individual violation is represented by a `Violation` message. +type Violations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // `violations` is a repeated field that contains all the `Violation` messages corresponding to the violations detected. + Violations []*Violation `protobuf:"bytes,1,rep,name=violations" json:"violations,omitempty"` +} + +func (x *Violations) Reset() { + *x = Violations{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_validate_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Violations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Violations) ProtoMessage() {} + +func (x *Violations) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[26] + 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 Violations.ProtoReflect.Descriptor instead. +func (*Violations) Descriptor() ([]byte, []int) { + return file_buf_validate_validate_proto_rawDescGZIP(), []int{26} +} + +func (x *Violations) GetViolations() []*Violation { + if x != nil { + return x.Violations + } + return nil +} + +// `Violation` represents a single instance where a validation rule, expressed +// as a `Constraint`, was not met. It provides information about the field that +// caused the violation, the specific constraint that wasn't fulfilled, and a +// human-readable error message. +// +// ```json +// +// { +// "fieldPath": "bar", +// "constraintId": "foo.bar", +// "message": "bar must be greater than 0" +// } +// +// ``` +type Violation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // `field_path` is a machine-readable identifier that points to the specific field that failed the validation. + // This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation. + FieldPath *string `protobuf:"bytes,1,opt,name=field_path,json=fieldPath" json:"field_path,omitempty"` + // `constraint_id` is the unique identifier of the `Constraint` that was not fulfilled. + // This is the same `id` that was specified in the `Constraint` message, allowing easy tracing of which rule was violated. + ConstraintId *string `protobuf:"bytes,2,opt,name=constraint_id,json=constraintId" json:"constraint_id,omitempty"` + // `message` is a human-readable error message that describes the nature of the violation. + // This can be the default error message from the violated `Constraint`, or it can be a custom message that gives more context about the violation. + Message *string `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"` + // `for_key` indicates whether the violation was caused by a map key, rather than a value. + ForKey *bool `protobuf:"varint,4,opt,name=for_key,json=forKey" json:"for_key,omitempty"` +} + +func (x *Violation) Reset() { + *x = Violation{} + if protoimpl.UnsafeEnabled { + mi := &file_buf_validate_validate_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Violation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Violation) ProtoMessage() {} + +func (x *Violation) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[27] + 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 Violation.ProtoReflect.Descriptor instead. +func (*Violation) Descriptor() ([]byte, []int) { + return file_buf_validate_validate_proto_rawDescGZIP(), []int{27} +} + +func (x *Violation) GetFieldPath() string { + if x != nil && x.FieldPath != nil { + return *x.FieldPath + } + return "" +} + +func (x *Violation) GetConstraintId() string { + if x != nil && x.ConstraintId != nil { + return *x.ConstraintId + } + return "" +} + +func (x *Violation) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *Violation) GetForKey() bool { + if x != nil && x.ForKey != nil { + return *x.ForKey + } + return false +} + var file_buf_validate_validate_proto_extTypes = []protoimpl.ExtensionInfo{ { ExtendedType: (*descriptorpb.MessageOptions)(nil), @@ -6141,6 +6864,14 @@ var file_buf_validate_validate_proto_extTypes = []protoimpl.ExtensionInfo{ Tag: "bytes,1159,opt,name=field", Filename: "buf/validate/validate.proto", }, + { + ExtendedType: (*descriptorpb.FieldOptions)(nil), + ExtensionType: (*PredefinedConstraints)(nil), + Field: 1160, + Name: "buf.validate.predefined", + Tag: "bytes,1160,opt,name=predefined", + Filename: "buf/validate/validate.proto", + }, } // Extension fields to descriptorpb.MessageOptions. @@ -6168,6 +6899,27 @@ var ( // // optional buf.validate.FieldConstraints field = 1159; E_Field = &file_buf_validate_validate_proto_extTypes[2] + // Specifies predefined rules. When extending a standard constraint message, + // this adds additional CEL expressions that apply when the extension is used. + // + // ```proto + // + // extend buf.validate.Int32Rules { + // bool is_zero [(buf.validate.predefined).cel = { + // id: "int32.is_zero", + // message: "value must be zero", + // expression: "!rule || this == 0", + // }]; + // } + // + // message Foo { + // int32 reserved = 1 [(buf.validate.field).int32.(is_zero) = true]; + // } + // + // ``` + // + // optional buf.validate.PredefinedConstraints predefined = 1160; + E_Predefined = &file_buf_validate_validate_proto_extTypes[3] ) var File_buf_validate_validate_proto protoreflect.FileDescriptor @@ -6175,692 +6927,538 @@ var File_buf_validate_validate_proto protoreflect.FileDescriptor var file_buf_validate_validate_proto_rawDesc = []byte{ 0x0a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x1d, 0x62, 0x75, 0x66, - 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x62, 0x75, 0x66, 0x2f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x2f, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, + 0x75, 0x66, 0x2e, 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, 0x6e, - 0x0a, 0x12, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x03, 0x63, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x03, 0x63, 0x65, - 0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x40, - 0x0a, 0x10, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x22, 0xab, 0x0a, 0x0a, 0x10, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, - 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x03, 0x63, 0x65, 0x6c, 0x18, 0x17, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x03, 0x63, 0x65, - 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x19, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2c, 0x0a, - 0x06, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x49, 0x67, 0x6e, - 0x6f, 0x72, 0x65, 0x52, 0x06, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, - 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, 0x33, 0x0a, - 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x62, 0x75, 0x66, 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, 0x30, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 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, 0x30, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 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, 0x33, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x66, 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, 0x33, 0x0a, 0x06, 0x75, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, - 0x66, 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, 0x33, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x62, 0x75, 0x66, 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, 0x33, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x66, 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, 0x36, 0x0a, 0x07, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, - 0x66, 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, 0x36, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x66, 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, 0x39, 0x0a, 0x08, 0x73, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, - 0x75, 0x66, 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, 0x39, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, - 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x75, 0x66, 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, 0x2d, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x62, 0x75, 0x66, 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, - 0x33, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x62, 0x75, 0x66, 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, 0x30, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 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, 0x2d, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x75, 0x66, 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, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x75, 0x66, 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, 0x2a, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x62, 0x75, 0x66, 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, 0x2a, 0x0a, 0x03, - 0x61, 0x6e, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x75, 0x66, 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, 0x39, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x75, 0x66, - 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, 0x3c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x75, 0x66, 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, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, - 0x25, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, - 0x1a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, - 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa2, - 0x17, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x75, 0x0a, - 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x5a, 0xc2, 0x48, - 0x57, 0x0a, 0x55, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x88, 0x01, 0x01, 0x12, 0xa3, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x42, 0x90, 0x01, 0xc2, 0x48, 0x8c, 0x01, 0x0a, 0x89, 0x01, 0x0a, 0x08, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x2e, 0x6c, 0x74, 0x1a, 0x7d, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xb4, 0x01, 0x0a, 0x03, 0x6c, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x9f, 0x01, 0xc2, 0x48, 0x9b, 0x01, 0x0a, - 0x98, 0x01, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x8a, 0x01, - 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, - 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, - 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, - 0x65, 0x12, 0xf3, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x42, 0xe0, - 0x07, 0xc2, 0x48, 0xdc, 0x07, 0x0a, 0x8d, 0x01, 0x0a, 0x08, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, - 0x67, 0x74, 0x1a, 0x80, 0x01, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc3, 0x01, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, - 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xb3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, - 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, - 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcd, 0x01, 0x0a, 0x15, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, + 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x12, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x03, 0x63, 0x65, 0x6c, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, + 0x03, 0x63, 0x65, 0x6c, 0x22, 0x2e, 0x0a, 0x10, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 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, 0x22, 0xab, 0x0a, 0x0a, 0x10, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x03, 0x63, 0x65, 0x6c, + 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, + 0x52, 0x03, 0x63, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x14, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, + 0x30, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x62, 0x75, 0x66, 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, 0x33, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x66, 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, 0x30, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 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, 0x30, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 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, 0x33, 0x0a, 0x06, 0x75, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x66, + 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, + 0x33, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x62, 0x75, 0x66, 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, 0x33, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x66, 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, 0x33, 0x0a, 0x06, 0x73, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x66, 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, 0x36, + 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x62, 0x75, 0x66, 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, 0x36, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x66, 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, 0x39, + 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x62, 0x75, 0x66, 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, 0x39, 0x0a, 0x08, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x75, + 0x66, 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, 0x2d, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x75, 0x66, 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, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x66, 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, 0x30, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 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, 0x2d, 0x0a, 0x04, 0x65, 0x6e, + 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x75, 0x66, 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, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x75, + 0x66, 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, 0x2a, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x75, 0x66, 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, 0x2a, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x62, 0x75, 0x66, 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, 0x39, 0x0a, 0x08, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x62, 0x75, 0x66, 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, 0x3c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x75, 0x66, + 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, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, + 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x70, + 0x70, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, + 0x70, 0x74, 0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x69, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x22, 0x43, 0x0a, 0x15, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x03, 0x63, + 0x65, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x52, 0x03, 0x63, 0x65, 0x6c, 0x22, 0xea, 0x17, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x5a, 0xc2, 0x48, 0x57, 0x0a, 0x55, 0x0a, 0x0b, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, + 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0xa3, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x90, 0x01, 0xc2, 0x48, 0x8c, 0x01, 0x0a, 0x89, 0x01, 0x0a, + 0x08, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x6c, 0x74, 0x1a, 0x7d, 0x21, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, - 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd3, 0x01, 0x0a, 0x0c, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc2, 0x01, 0x68, - 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xb4, + 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x9f, 0x01, 0xc2, + 0x48, 0x9b, 0x01, 0x0a, 0x98, 0x01, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x6c, 0x74, + 0x65, 0x1a, 0x8a, 0x01, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, + 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, + 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xf3, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x02, 0x42, 0xe0, 0x07, 0xc2, 0x48, 0xdc, 0x07, 0x0a, 0x8d, 0x01, 0x0a, 0x08, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x1a, 0x80, 0x01, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, - 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x0a, 0xdd, 0x01, 0x0a, 0x16, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x5f, 0x6c, - 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xc2, 0x01, 0x68, - 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, - 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, - 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, - 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, - 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xbf, 0x08, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, 0xaa, 0x08, 0xc2, 0x48, 0xa6, 0x08, 0x0a, 0x9b, 0x01, 0x0a, - 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x8d, 0x01, 0x21, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, - 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd2, 0x01, 0x0a, 0x0c, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xc1, 0x01, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, - 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, + 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc3, 0x01, 0x0a, 0x0b, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xb3, 0x01, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, + 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, + 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, - 0xdc, 0x01, 0x0a, 0x16, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xc1, 0x01, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, - 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x29, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, - 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xe2, - 0x01, 0x0a, 0x0d, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, - 0x1a, 0xd0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0xcd, 0x01, 0x0a, 0x15, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb3, 0x01, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, + 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, + 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, + 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x29, 0x3f, 0x20, 0x27, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, + 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, + 0xd3, 0x01, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, + 0x1a, 0xc2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, - 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, - 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, + 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, + 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, - 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x0a, 0xec, 0x01, 0x0a, 0x17, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, - 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, - 0xd0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdd, 0x01, 0x0a, 0x16, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, + 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, + 0x1a, 0xc2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x29, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, + 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x29, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, + 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, - 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, - 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, - 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x79, 0x0a, 0x02, 0x69, 0x6e, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x02, 0x42, 0x69, 0xc2, 0x48, 0x66, 0x0a, 0x64, 0x0a, 0x08, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, - 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, - 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, - 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7d, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x02, 0x42, 0x66, 0xc2, 0x48, 0x63, 0x0a, 0x61, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, - 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, - 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, - 0x74, 0x49, 0x6e, 0x12, 0x67, 0x0a, 0x06, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x08, 0x42, 0x4f, 0xc2, 0x48, 0x4c, 0x0a, 0x4a, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x2e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x1a, 0x3a, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, - 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, - 0x73, 0x49, 0x6e, 0x66, 0x28, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x27, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x52, 0x06, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, - 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x22, 0xb3, 0x17, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x76, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x01, 0x42, 0x5b, 0xc2, 0x48, 0x58, 0x0a, 0x56, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, - 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, - 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0xa4, 0x01, 0x0a, 0x02, - 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x91, 0x01, 0xc2, 0x48, 0x8d, 0x01, 0x0a, - 0x8a, 0x01, 0x0a, 0x09, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x6c, 0x74, 0x1a, 0x7d, 0x21, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, - 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, - 0x6c, 0x74, 0x12, 0xb5, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, - 0x42, 0xa0, 0x01, 0xc2, 0x48, 0x9c, 0x01, 0x0a, 0x99, 0x01, 0x0a, 0x0a, 0x64, 0x6f, 0x75, 0x62, - 0x6c, 0x65, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x8a, 0x01, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, - 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xf8, 0x07, 0x0a, 0x02, 0x67, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x42, 0xe5, 0x07, 0xc2, 0x48, 0xe1, 0x07, 0x0a, 0x8e, - 0x01, 0x0a, 0x09, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x1a, 0x80, 0x01, 0x21, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, - 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, - 0xc4, 0x01, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, - 0x1a, 0xb3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xbf, 0x08, 0x0a, 0x03, + 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, 0xaa, 0x08, 0xc2, 0x48, 0xa6, 0x08, + 0x0a, 0x9b, 0x01, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x8d, + 0x01, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, + 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, + 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd2, + 0x01, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, + 0xc1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, + 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, - 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xce, 0x01, 0x0a, 0x16, 0x64, 0x6f, 0x75, 0x62, 0x6c, - 0x65, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x1a, 0xb3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, - 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x29, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd4, 0x01, 0x0a, 0x0d, 0x64, 0x6f, 0x75, 0x62, - 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc2, 0x01, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, - 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xde, - 0x01, 0x0a, 0x17, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xc2, 0x01, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, - 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x29, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, - 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, - 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xc4, 0x08, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x01, 0x42, 0xaf, 0x08, 0xc2, 0x48, 0xab, 0x08, 0x0a, 0x9c, 0x01, 0x0a, 0x0a, 0x64, - 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x8d, 0x01, 0x21, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, - 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, - 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, + 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd3, 0x01, 0x0a, 0x0d, 0x64, 0x6f, - 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xc1, 0x01, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, - 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, - 0xdd, 0x01, 0x0a, 0x17, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xc1, 0x01, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, - 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x29, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, - 0xe3, 0x01, 0x0a, 0x0e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, - 0x74, 0x65, 0x1a, 0xd0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, - 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, - 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, - 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xed, 0x01, 0x0a, 0x18, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x1a, 0xd0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, - 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, - 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7a, 0x0a, 0x02, - 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x01, 0x42, 0x6a, 0xc2, 0x48, 0x67, 0x0a, 0x65, 0x0a, - 0x09, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, - 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, - 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x01, 0x42, 0x67, 0xc2, 0x48, 0x64, 0x0a, 0x62, 0x0a, - 0x0d, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, - 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x68, 0x0a, 0x06, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x50, 0xc2, 0x48, 0x4d, 0x0a, 0x4b, 0x0a, - 0x0d, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x1a, 0x3a, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x6e, 0x66, 0x28, 0x29, 0x20, 0x3f, 0x20, 0x27, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x65, 0x27, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x06, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, - 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0xe2, 0x14, 0x0a, 0x0a, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x75, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x5a, 0xc2, 0x48, 0x57, 0x0a, 0x55, 0x0a, 0x0b, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, - 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x8e, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x7c, 0xc2, 0x48, - 0x79, 0x0a, 0x77, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, - 0x12, 0xa1, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x8c, - 0x01, 0xc2, 0x48, 0x88, 0x01, 0x0a, 0x85, 0x01, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, - 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, - 0x03, 0x6c, 0x74, 0x65, 0x12, 0x9b, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x42, 0x88, 0x07, 0xc2, 0x48, 0x84, 0x07, 0x0a, 0x7a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb3, 0x01, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, - 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, - 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbb, 0x01, 0x0a, 0x15, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc3, 0x01, 0x0a, 0x0c, 0x69, 0x6e, 0x74, - 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcb, - 0x01, 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, - 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, - 0x67, 0x74, 0x12, 0xe8, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x42, 0xd3, 0x07, 0xc2, 0x48, 0xcf, 0x07, 0x0a, 0x88, 0x01, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, - 0x27, 0x27, 0x0a, 0xc2, 0x01, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, - 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, - 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xca, 0x01, 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd2, 0x01, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, - 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xda, 0x01, 0x0a, 0x17, 0x69, 0x6e, - 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, - 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, + 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x0a, 0xdc, 0x01, 0x0a, 0x16, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, + 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xc1, + 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, + 0x29, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, + 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, + 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x0a, 0xe2, 0x01, 0x0a, 0x0d, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x65, + 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xd0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, + 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, + 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, + 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, + 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xec, 0x01, 0x0a, 0x17, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, + 0x69, 0x76, 0x65, 0x1a, 0xd0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, + 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, + 0x7c, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x79, 0x0a, - 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x42, 0x69, 0xc2, 0x48, 0x66, 0x0a, 0x64, - 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, + 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x42, 0x69, 0xc2, 0x48, 0x66, 0x0a, 0x64, + 0x0a, 0x08, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7d, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, - 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x42, 0x66, 0xc2, 0x48, 0x63, 0x0a, 0x61, 0x0a, - 0x0c, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, + 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x02, 0x42, 0x66, 0xc2, 0x48, 0x63, 0x0a, 0x61, 0x0a, + 0x0c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, + 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x7d, 0x0a, 0x06, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x65, 0xc2, 0x48, 0x62, 0x0a, 0x60, 0x0a, 0x0c, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x1a, 0x50, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x3f, 0x20, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x6e, 0x66, 0x28, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x65, 0x27, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x06, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x02, 0x42, 0x1a, 0xc2, 0x48, 0x17, 0x0a, 0x15, 0x0a, 0x0d, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x04, 0x74, + 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2a, 0x09, 0x08, 0xe8, + 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, - 0x74, 0x68, 0x61, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0xe2, - 0x14, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x75, 0x0a, - 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x5a, 0xc2, 0x48, - 0x57, 0x0a, 0x55, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x7c, 0xc2, 0x48, 0x79, 0x0a, 0x77, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, - 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, - 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa1, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x03, 0x42, 0x8c, 0x01, 0xc2, 0x48, 0x88, 0x01, 0x0a, 0x85, 0x01, 0x0a, 0x09, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, - 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x9b, 0x07, 0x0a, 0x02, 0x67, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x88, 0x07, 0xc2, 0x48, 0x84, 0x07, 0x0a, 0x7a, 0x0a, - 0x08, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, + 0x74, 0x68, 0x61, 0x6e, 0x22, 0xfc, 0x17, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0x71, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x01, 0x42, 0x5b, 0xc2, 0x48, 0x58, 0x0a, 0x56, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, + 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, + 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, + 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0xa4, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x01, 0x42, 0x91, 0x01, 0xc2, 0x48, 0x8d, 0x01, 0x0a, 0x8a, 0x01, 0x0a, 0x09, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x6c, 0x74, 0x1a, 0x7d, 0x21, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xb5, + 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0xa0, 0x01, 0xc2, + 0x48, 0x9c, 0x01, 0x0a, 0x99, 0x01, 0x0a, 0x0a, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x6c, + 0x74, 0x65, 0x1a, 0x8a, 0x01, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, + 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, + 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xf8, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x01, 0x42, 0xe5, 0x07, 0xc2, 0x48, 0xe1, 0x07, 0x0a, 0x8e, 0x01, 0x0a, 0x09, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x1a, 0x80, 0x01, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb3, 0x01, 0x0a, 0x0b, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, + 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, + 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc4, 0x01, 0x0a, 0x0c, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xb3, 0x01, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, + 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, + 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x0a, 0xce, 0x01, 0x0a, 0x16, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, + 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb3, 0x01, + 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, + 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x29, + 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x0a, 0xd4, 0x01, 0x0a, 0x0d, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, + 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, + 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, + 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xde, 0x01, 0x0a, 0x17, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xc2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, + 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, + 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, + 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, + 0x74, 0x12, 0xc4, 0x08, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x42, + 0xaf, 0x08, 0xc2, 0x48, 0xab, 0x08, 0x0a, 0x9c, 0x01, 0x0a, 0x0a, 0x64, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x8d, 0x01, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd3, 0x01, 0x0a, 0x0d, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, + 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xc1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, + 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, + 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdd, 0x01, 0x0a, 0x17, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xc1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, + 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, + 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xe3, 0x01, 0x0a, 0x0e, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xd0, + 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, + 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, + 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, + 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, + 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x0a, 0xed, 0x01, 0x0a, 0x18, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x65, + 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xd0, + 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, + 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, + 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x29, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, + 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, + 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7a, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x01, 0x42, 0x6a, 0xc2, 0x48, 0x67, 0x0a, 0x65, 0x0a, 0x09, 0x64, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, + 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, + 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x01, 0x42, 0x67, 0xc2, 0x48, 0x64, 0x0a, 0x62, 0x0a, 0x0d, 0x64, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, + 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, + 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, + 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x66, 0xc2, 0x48, 0x63, 0x0a, 0x61, 0x0a, 0x0d, 0x64, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x1a, 0x50, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x3f, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x69, 0x73, 0x4e, 0x61, 0x6e, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x69, 0x73, 0x49, 0x6e, 0x66, 0x28, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, + 0x27, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x06, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x01, 0x42, 0x1b, 0xc2, 0x48, 0x18, 0x0a, 0x16, 0x0a, 0x0e, 0x64, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, + 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, + 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, + 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, + 0x68, 0x61, 0x6e, 0x22, 0x94, 0x15, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x70, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x5a, 0xc2, 0x48, 0x57, 0x0a, 0x55, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x8e, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x7c, 0xc2, 0x48, 0x79, 0x0a, 0x77, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, + 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, + 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa1, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x8c, 0x01, 0xc2, 0x48, 0x88, 0x01, 0x0a, 0x85, 0x01, 0x0a, 0x09, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, + 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, + 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x9b, 0x07, 0x0a, 0x02, 0x67, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x88, 0x07, 0xc2, 0x48, 0x84, 0x07, 0x0a, 0x7a, 0x0a, + 0x08, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, + 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb3, 0x01, 0x0a, 0x0b, 0x69, 0x6e, + 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, @@ -6868,7 +7466,7 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, - 0xbb, 0x01, 0x0a, 0x15, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, + 0xbb, 0x01, 0x0a, 0x15, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, @@ -6880,7 +7478,7 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc3, 0x01, - 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, + 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, @@ -6892,7 +7490,7 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x0a, 0xcb, 0x01, 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, + 0x20, 0x27, 0x27, 0x0a, 0xcb, 0x01, 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, @@ -6906,8 +7504,8 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xe8, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0xd3, 0x07, 0xc2, 0x48, 0xcf, 0x07, 0x0a, 0x88, 0x01, 0x0a, - 0x09, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0xd3, 0x07, 0xc2, 0x48, 0xcf, 0x07, 0x0a, 0x88, 0x01, 0x0a, + 0x09, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, @@ -6915,8 +7513,8 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc2, 0x01, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc2, 0x01, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, @@ -6928,7 +7526,7 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xca, 0x01, 0x0a, - 0x16, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, + 0x16, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, @@ -6941,7 +7539,7 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd2, 0x01, 0x0a, 0x0d, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, + 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, @@ -6954,7 +7552,7 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xda, - 0x01, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, + 0x01, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, @@ -6968,314 +7566,149 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, - 0x74, 0x65, 0x12, 0x79, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x03, 0x42, 0x69, - 0xc2, 0x48, 0x66, 0x0a, 0x64, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x69, 0x6e, 0x1a, + 0x74, 0x65, 0x12, 0x79, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x42, 0x69, + 0xc2, 0x48, 0x66, 0x0a, 0x64, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7d, 0x0a, - 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x03, 0x42, 0x66, 0xc2, - 0x48, 0x63, 0x0a, 0x61, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, + 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x42, 0x66, 0xc2, + 0x48, 0x63, 0x0a, 0x61, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x42, 0x0b, 0x0a, 0x09, - 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x22, 0xf2, 0x14, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x76, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x5b, 0xc2, 0x48, 0x58, 0x0a, 0x56, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, - 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x8f, 0x01, 0x0a, 0x02, - 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x7d, 0xc2, 0x48, 0x7a, 0x0a, 0x78, 0x0a, - 0x09, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa2, 0x01, - 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x8d, 0x01, 0xc2, 0x48, - 0x89, 0x01, 0x0a, 0x86, 0x01, 0x0a, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6c, 0x74, - 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, - 0x74, 0x65, 0x12, 0xa0, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x8d, 0x07, 0xc2, 0x48, 0x89, 0x07, 0x0a, 0x7b, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, - 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x0a, 0xb4, 0x01, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, - 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, - 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbc, 0x01, 0x0a, 0x16, 0x75, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc4, 0x01, 0x0a, 0x0d, 0x75, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x0a, 0xcc, 0x01, 0x0a, 0x17, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, - 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, - 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, - 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, - 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xed, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x42, 0xd8, 0x07, 0xc2, 0x48, 0xd4, 0x07, 0x0a, 0x89, 0x01, 0x0a, 0x0a, 0x75, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, - 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc3, 0x01, 0x0a, 0x0d, 0x75, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcb, 0x01, 0x0a, - 0x17, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, - 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd3, 0x01, 0x0a, 0x0e, 0x75, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x0a, 0xdb, 0x01, 0x0a, 0x18, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, - 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, - 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, - 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, - 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7a, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0d, 0x42, 0x6a, 0xc2, 0x48, 0x67, 0x0a, 0x65, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, - 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, - 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, - 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, - 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0d, 0x42, 0x67, 0xc2, 0x48, 0x64, 0x0a, 0x62, 0x0a, 0x0d, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, - 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, - 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, - 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0xf2, 0x14, 0x0a, 0x0b, 0x55, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x76, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x5b, 0xc2, 0x48, 0x58, 0x0a, 0x56, 0x0a, 0x0c, - 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x34, 0x0a, 0x07, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x42, 0x1a, 0xc2, + 0x48, 0x17, 0x0a, 0x15, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, + 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x22, 0x94, 0x15, 0x0a, 0x0a, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x05, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x5a, 0xc2, 0x48, 0x57, 0x0a, 0x55, 0x0a, + 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x8f, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x7d, 0xc2, - 0x48, 0x7a, 0x0a, 0x78, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x1a, - 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, + 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x8e, 0x01, 0x0a, 0x02, + 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x7c, 0xc2, 0x48, 0x79, 0x0a, 0x77, 0x0a, + 0x08, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, + 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa1, 0x01, 0x0a, + 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x8c, 0x01, 0xc2, 0x48, 0x88, + 0x01, 0x0a, 0x85, 0x01, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x65, 0x1a, + 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, + 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, + 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, + 0x12, 0x9b, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x88, 0x07, + 0xc2, 0x48, 0x84, 0x07, 0x0a, 0x7a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, + 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, + 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x0a, 0xb3, 0x01, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, + 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, + 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, + 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, - 0x6c, 0x74, 0x12, 0xa2, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x42, 0x8d, 0x01, 0xc2, 0x48, 0x89, 0x01, 0x0a, 0x86, 0x01, 0x0a, 0x0a, 0x75, 0x69, 0x6e, 0x74, - 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, + 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbb, 0x01, 0x0a, 0x15, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, + 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, + 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, + 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, + 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc3, 0x01, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, + 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, + 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xa0, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x42, 0x8d, 0x07, 0xc2, 0x48, 0x89, 0x07, 0x0a, 0x7b, 0x0a, 0x09, 0x75, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcb, 0x01, 0x0a, 0x16, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xe8, + 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0xd3, 0x07, 0xc2, + 0x48, 0xcf, 0x07, 0x0a, 0x88, 0x01, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, + 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc2, + 0x01, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, + 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, + 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, + 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb4, 0x01, 0x0a, 0x0c, 0x75, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, - 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, - 0xbc, 0x01, 0x0a, 0x16, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, - 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, - 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc4, - 0x01, 0x0a, 0x0d, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, - 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, - 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, - 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, - 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcc, 0x01, 0x0a, 0x17, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, - 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xed, 0x07, 0x0a, 0x03, 0x67, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0xd8, 0x07, 0xc2, 0x48, 0xd4, 0x07, 0x0a, - 0x89, 0x01, 0x0a, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, - 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, - 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc3, 0x01, 0x0a, 0x0d, - 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, + 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x0a, 0xca, 0x01, 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, + 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, + 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x0a, 0xcb, 0x01, 0x0a, 0x17, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, - 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, - 0xd3, 0x01, 0x0a, 0x0e, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, + 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, + 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x0a, 0xd2, 0x01, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, @@ -7288,497 +7721,676 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdb, 0x01, 0x0a, 0x18, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, - 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7a, 0x0a, 0x02, 0x69, 0x6e, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x42, 0x6a, 0xc2, 0x48, 0x67, 0x0a, 0x65, 0x0a, 0x09, 0x75, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, - 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, - 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x42, 0x67, 0xc2, 0x48, 0x64, 0x0a, 0x62, 0x0a, 0x0d, 0x75, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, - 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, - 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, - 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, - 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, - 0x68, 0x61, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0xf2, 0x14, - 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x76, 0x0a, - 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x5b, 0xc2, 0x48, - 0x58, 0x0a, 0x56, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x8f, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x11, 0x42, 0x7d, 0xc2, 0x48, 0x7a, 0x0a, 0x78, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa2, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x11, 0x42, 0x8d, 0x01, 0xc2, 0x48, 0x89, 0x01, 0x0a, 0x86, 0x01, 0x0a, - 0x0a, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xa0, 0x07, 0x0a, - 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x42, 0x8d, 0x07, 0xc2, 0x48, 0x89, 0x07, - 0x0a, 0x7b, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb4, 0x01, - 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, - 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xda, 0x01, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, + 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, + 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, + 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, + 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, + 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, + 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x79, 0x0a, 0x02, 0x69, 0x6e, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x03, 0x42, 0x69, 0xc2, 0x48, 0x66, 0x0a, 0x64, 0x0a, 0x08, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, + 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, + 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7d, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x03, 0x42, 0x66, 0xc2, 0x48, 0x63, 0x0a, 0x61, 0x0a, 0x0c, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, + 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, + 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, + 0x74, 0x49, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x03, 0x42, 0x1a, 0xc2, 0x48, 0x17, 0x0a, 0x15, 0x0a, 0x0d, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, + 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, + 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, + 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, + 0x6e, 0x22, 0xa5, 0x15, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x12, 0x71, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x42, 0x5b, 0xc2, 0x48, 0x58, 0x0a, 0x56, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbc, 0x01, 0x0a, 0x16, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, - 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, - 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, - 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, - 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x42, 0x7d, 0xc2, 0x48, 0x7a, 0x0a, 0x78, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, + 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa2, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x42, 0x8d, 0x01, 0xc2, 0x48, 0x89, 0x01, 0x0a, 0x86, 0x01, 0x0a, 0x0a, + 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, + 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, + 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, + 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xa0, 0x07, 0x0a, 0x02, + 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x8d, 0x07, 0xc2, 0x48, 0x89, 0x07, 0x0a, + 0x7b, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, + 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, + 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb4, 0x01, 0x0a, + 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, + 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, + 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x0a, 0xc4, 0x01, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, - 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, - 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, - 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcc, 0x01, 0x0a, 0x17, 0x73, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, - 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, + 0x20, 0x27, 0x27, 0x0a, 0xbc, 0x01, 0x0a, 0x16, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, + 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, + 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x0a, 0xc4, 0x01, 0x0a, 0x0d, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, + 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, - 0xed, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x42, 0xd8, 0x07, - 0xc2, 0x48, 0xd4, 0x07, 0x0a, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, - 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x0a, 0xc3, 0x01, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, - 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, - 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, - 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, - 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcb, 0x01, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcc, 0x01, 0x0a, 0x17, 0x75, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xed, + 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0xd8, 0x07, 0xc2, + 0x48, 0xd4, 0x07, 0x0a, 0x89, 0x01, 0x0a, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, + 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, + 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, + 0xc3, 0x01, 0x0a, 0x0d, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, + 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, + 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd3, 0x01, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, - 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, - 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdb, 0x01, 0x0a, 0x18, 0x73, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, - 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcb, 0x01, 0x0a, 0x17, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, + 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, + 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x0a, 0xd3, 0x01, 0x0a, 0x0e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, + 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, - 0x7a, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x11, 0x42, 0x6a, 0xc2, 0x48, 0x67, - 0x0a, 0x65, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, - 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x6e, - 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x11, 0x42, 0x67, 0xc2, 0x48, 0x64, - 0x0a, 0x62, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, - 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, - 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6c, - 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x22, 0xf2, 0x14, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0x76, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x12, 0x42, 0x5b, 0xc2, 0x48, 0x58, 0x0a, 0x56, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, - 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x02, - 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x8f, 0x01, 0x0a, 0x02, 0x6c, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x42, 0x7d, 0xc2, 0x48, 0x7a, 0x0a, 0x78, 0x0a, 0x09, - 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, - 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, - 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa2, 0x01, 0x0a, - 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x42, 0x8d, 0x01, 0xc2, 0x48, 0x89, - 0x01, 0x0a, 0x86, 0x01, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x65, - 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, - 0x65, 0x12, 0xa0, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x42, 0x8d, - 0x07, 0xc2, 0x48, 0x89, 0x07, 0x0a, 0x7b, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, - 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, - 0x27, 0x27, 0x0a, 0xb4, 0x01, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, - 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, - 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbc, 0x01, 0x0a, 0x16, 0x73, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc4, 0x01, 0x0a, 0x0d, 0x73, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, - 0xcc, 0x01, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, - 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, - 0x52, 0x02, 0x67, 0x74, 0x12, 0xed, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x12, 0x42, 0xd8, 0x07, 0xc2, 0x48, 0xd4, 0x07, 0x0a, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc3, 0x01, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdb, 0x01, 0x0a, 0x18, 0x75, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, + 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, + 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7a, + 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x6a, 0xc2, 0x48, 0x67, 0x0a, + 0x65, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, + 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, + 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x6e, 0x6f, + 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x67, 0xc2, 0x48, 0x64, 0x0a, + 0x62, 0x0a, 0x0d, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, + 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x1b, 0xc2, 0x48, 0x18, + 0x0a, 0x16, 0x0a, 0x0e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, 0x09, + 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x22, 0xa5, 0x15, 0x0a, 0x0b, 0x55, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x71, 0x0a, 0x05, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x5b, 0xc2, 0x48, 0x58, 0x0a, 0x56, 0x0a, + 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x8f, 0x01, 0x0a, + 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x7d, 0xc2, 0x48, 0x7a, 0x0a, 0x78, + 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, + 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa2, + 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x8d, 0x01, 0xc2, + 0x48, 0x89, 0x01, 0x0a, 0x86, 0x01, 0x0a, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, + 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, + 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, + 0x6c, 0x74, 0x65, 0x12, 0xa0, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x42, 0x8d, 0x07, 0xc2, 0x48, 0x89, 0x07, 0x0a, 0x7b, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, + 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb4, 0x01, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, + 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, + 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbc, 0x01, 0x0a, 0x16, + 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, + 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, - 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcb, 0x01, 0x0a, 0x17, - 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, - 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, - 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd3, 0x01, 0x0a, 0x0e, 0x73, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc4, 0x01, 0x0a, 0x0d, 0x75, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, + 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, + 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x0a, 0xcc, 0x01, 0x0a, 0x17, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, + 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, + 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, + 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, + 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xed, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x42, 0xd8, 0x07, 0xc2, 0x48, 0xd4, 0x07, 0x0a, 0x89, 0x01, 0x0a, 0x0a, + 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, - 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, + 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc3, 0x01, 0x0a, 0x0d, 0x75, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, + 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcb, 0x01, + 0x0a, 0x17, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, + 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd3, 0x01, 0x0a, 0x0e, + 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, + 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, + 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, + 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, + 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, + 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x0a, 0xdb, 0x01, 0x0a, 0x18, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, + 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, + 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, + 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, + 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, + 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, - 0xdb, 0x01, 0x0a, 0x18, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, - 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, - 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, - 0x03, 0x67, 0x74, 0x65, 0x12, 0x7a, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x12, - 0x42, 0x6a, 0xc2, 0x48, 0x67, 0x0a, 0x65, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, - 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, - 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, - 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, - 0x12, 0x7e, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x12, - 0x42, 0x67, 0xc2, 0x48, 0x64, 0x0a, 0x62, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, - 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, - 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, - 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, - 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0x82, 0x15, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x77, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x5c, 0xc2, 0x48, 0x59, 0x0a, 0x57, 0x0a, 0x0d, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x90, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x42, 0x7e, - 0xc2, 0x48, 0x7b, 0x0a, 0x79, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6c, - 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, - 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa3, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x07, 0x42, 0x8e, 0x01, 0xc2, 0x48, 0x8a, 0x01, 0x0a, 0x87, 0x01, 0x0a, 0x0b, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, - 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, - 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xa5, 0x07, 0x0a, 0x02, 0x67, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x42, 0x92, 0x07, 0xc2, 0x48, 0x8e, 0x07, 0x0a, 0x7c, - 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, + 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7a, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x04, 0x42, 0x6a, 0xc2, 0x48, 0x67, 0x0a, 0x65, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, + 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, + 0x69, 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x04, 0x42, 0x67, 0xc2, 0x48, 0x64, 0x0a, 0x62, 0x0a, 0x0d, 0x75, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, + 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, + 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, + 0x49, 0x6e, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x04, 0x42, 0x1b, 0xc2, 0x48, 0x18, 0x0a, 0x16, 0x0a, 0x0e, 0x75, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, + 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, + 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, + 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, + 0x6e, 0x22, 0xa5, 0x15, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x12, 0x71, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, + 0x42, 0x5b, 0xc2, 0x48, 0x58, 0x0a, 0x56, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x11, 0x42, 0x7d, 0xc2, 0x48, 0x7a, 0x0a, 0x78, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, + 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa2, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x11, 0x42, 0x8d, 0x01, 0xc2, 0x48, 0x89, 0x01, 0x0a, 0x86, 0x01, 0x0a, 0x0a, + 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, + 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, + 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, + 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xa0, 0x07, 0x0a, 0x02, + 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x42, 0x8d, 0x07, 0xc2, 0x48, 0x89, 0x07, 0x0a, + 0x7b, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb5, 0x01, 0x0a, - 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb4, 0x01, 0x0a, + 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, + 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, + 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x0a, 0xbc, 0x01, 0x0a, 0x16, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, + 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x0a, 0xc4, 0x01, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, + 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, + 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcc, 0x01, 0x0a, 0x17, 0x73, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xed, + 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x42, 0xd8, 0x07, 0xc2, + 0x48, 0xd4, 0x07, 0x0a, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, + 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, + 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, + 0xc3, 0x01, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, + 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, + 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbd, 0x01, 0x0a, 0x17, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, - 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, - 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, - 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc5, 0x01, 0x0a, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, - 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, + 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcb, 0x01, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, + 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, + 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x0a, 0xd3, 0x01, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, + 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, - 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcd, 0x01, 0x0a, - 0x18, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, - 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, - 0x67, 0x74, 0x12, 0xf2, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, - 0x42, 0xdd, 0x07, 0xc2, 0x48, 0xd9, 0x07, 0x0a, 0x8a, 0x01, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc4, 0x01, 0x0a, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, - 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdb, 0x01, 0x0a, 0x18, 0x73, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, + 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, + 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7a, + 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x11, 0x42, 0x6a, 0xc2, 0x48, 0x67, 0x0a, + 0x65, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, + 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, + 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x6e, 0x6f, + 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x11, 0x42, 0x67, 0xc2, 0x48, 0x64, 0x0a, + 0x62, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, + 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x11, 0x42, 0x1b, 0xc2, 0x48, 0x18, + 0x0a, 0x16, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, 0x09, + 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x22, 0xa5, 0x15, 0x0a, 0x0b, 0x53, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x71, 0x0a, 0x05, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x5b, 0xc2, 0x48, 0x58, 0x0a, 0x56, 0x0a, + 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x8f, 0x01, 0x0a, + 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x42, 0x7d, 0xc2, 0x48, 0x7a, 0x0a, 0x78, + 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, + 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa2, + 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x42, 0x8d, 0x01, 0xc2, + 0x48, 0x89, 0x01, 0x0a, 0x86, 0x01, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, + 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, + 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, + 0x6c, 0x74, 0x65, 0x12, 0xa0, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, + 0x42, 0x8d, 0x07, 0xc2, 0x48, 0x89, 0x07, 0x0a, 0x7b, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, + 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb4, 0x01, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, + 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, + 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbc, 0x01, 0x0a, 0x16, + 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, + 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc4, 0x01, 0x0a, 0x0d, 0x73, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, + 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, + 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x0a, 0xcc, 0x01, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, + 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, + 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, + 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, + 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xed, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x12, 0x42, 0xd8, 0x07, 0xc2, 0x48, 0xd4, 0x07, 0x0a, 0x89, 0x01, 0x0a, 0x0a, + 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, + 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc3, 0x01, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, + 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcb, 0x01, + 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, + 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcc, 0x01, 0x0a, 0x18, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, - 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd4, 0x01, 0x0a, 0x0f, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, + 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd3, 0x01, 0x0a, 0x0e, + 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, @@ -7791,50 +8403,53 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x0a, 0xdc, 0x01, 0x0a, 0x19, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, - 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, - 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, - 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, - 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7b, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x07, 0x42, 0x6b, 0xc2, 0x48, 0x68, 0x0a, 0x66, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, - 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, - 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, - 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7f, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x07, 0x42, 0x68, 0xc2, 0x48, 0x65, 0x0a, 0x63, 0x0a, 0x0e, 0x66, 0x69, 0x78, - 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, - 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, - 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, - 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, - 0x61, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0x82, 0x15, 0x0a, - 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x77, 0x0a, - 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x5c, 0xc2, 0x48, - 0x59, 0x0a, 0x57, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x90, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x06, 0x42, 0x7e, 0xc2, 0x48, 0x7b, 0x0a, 0x79, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x27, 0x0a, 0xdb, 0x01, 0x0a, 0x18, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, + 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, + 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, + 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, + 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, + 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, + 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, + 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7a, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x12, 0x42, 0x6a, 0xc2, 0x48, 0x67, 0x0a, 0x65, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, + 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, + 0x69, 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x12, 0x42, 0x67, 0xc2, 0x48, 0x64, 0x0a, 0x62, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, + 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, + 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, + 0x49, 0x6e, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x12, 0x42, 0x1b, 0xc2, 0x48, 0x18, 0x0a, 0x16, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, + 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, + 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, + 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, + 0x6e, 0x22, 0xb6, 0x15, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x72, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x07, 0x42, 0x5c, 0xc2, 0x48, 0x59, 0x0a, 0x57, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, + 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, + 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x90, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x07, 0x42, 0x7e, 0xc2, 0x48, 0x7b, 0x0a, 0x79, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, @@ -7842,8 +8457,8 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa3, 0x01, 0x0a, 0x03, 0x6c, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x42, 0x8e, 0x01, 0xc2, 0x48, 0x8a, 0x01, 0x0a, 0x87, - 0x01, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x42, 0x8e, 0x01, 0xc2, 0x48, 0x8a, 0x01, 0x0a, 0x87, + 0x01, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, @@ -7852,8 +8467,8 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, - 0xa5, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x42, 0x92, 0x07, 0xc2, - 0x48, 0x8e, 0x07, 0x0a, 0x7c, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, + 0xa5, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x42, 0x92, 0x07, 0xc2, + 0x48, 0x8e, 0x07, 0x0a, 0x7c, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, @@ -7861,7 +8476,7 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x0a, 0xb5, 0x01, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, + 0x27, 0x0a, 0xb5, 0x01, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, @@ -7873,7 +8488,7 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbd, 0x01, 0x0a, 0x17, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, @@ -7885,7 +8500,7 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc5, 0x01, 0x0a, 0x0e, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, @@ -7897,7 +8512,7 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x0a, 0xcd, 0x01, 0x0a, 0x18, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, + 0x27, 0x0a, 0xcd, 0x01, 0x0a, 0x18, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, @@ -7911,8 +8526,8 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xf2, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x06, 0x42, 0xdd, 0x07, 0xc2, 0x48, 0xd9, 0x07, 0x0a, 0x8a, 0x01, 0x0a, - 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, + 0x05, 0x20, 0x01, 0x28, 0x07, 0x42, 0xdd, 0x07, 0xc2, 0x48, 0xd9, 0x07, 0x0a, 0x8a, 0x01, 0x0a, + 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, @@ -7921,46 +8536,390 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc4, 0x01, 0x0a, 0x0e, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x0a, 0xcc, 0x01, 0x0a, 0x18, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, - 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x0a, 0xcc, 0x01, 0x0a, 0x18, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, + 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, + 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, + 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, + 0xd4, 0x01, 0x0a, 0x0f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, + 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, + 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, + 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdc, 0x01, 0x0a, 0x19, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, + 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7b, 0x0a, 0x02, + 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x07, 0x42, 0x6b, 0xc2, 0x48, 0x68, 0x0a, 0x66, 0x0a, + 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, + 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, + 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7f, 0x0a, 0x06, 0x6e, 0x6f, 0x74, + 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x07, 0x42, 0x68, 0xc2, 0x48, 0x65, 0x0a, 0x63, + 0x0a, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, + 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x36, 0x0a, 0x07, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x07, 0x42, 0x1c, 0xc2, 0x48, 0x19, + 0x0a, 0x17, 0x0a, 0x0f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, + 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x22, 0xb6, 0x15, 0x0a, 0x0c, 0x46, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x72, 0x0a, 0x05, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x5c, 0xc2, 0x48, 0x59, 0x0a, + 0x57, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, + 0x90, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x42, 0x7e, 0xc2, 0x48, + 0x7b, 0x0a, 0x79, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x1a, + 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, + 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, + 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, + 0x6c, 0x74, 0x12, 0xa3, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, + 0x42, 0x8e, 0x01, 0xc2, 0x48, 0x8a, 0x01, 0x0a, 0x87, 0x01, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, + 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, + 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xa5, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x06, 0x42, 0x92, 0x07, 0xc2, 0x48, 0x8e, 0x07, 0x0a, 0x7c, 0x0a, 0x0a, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb5, 0x01, 0x0a, 0x0d, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, + 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x0a, 0xbd, 0x01, 0x0a, 0x17, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, + 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, + 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x0a, 0xc5, 0x01, 0x0a, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, + 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, + 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcd, 0x01, 0x0a, 0x18, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, + 0x12, 0xf2, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x42, 0xdd, + 0x07, 0xc2, 0x48, 0xd9, 0x07, 0x0a, 0x8a, 0x01, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, + 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x0a, 0xc4, 0x01, 0x0a, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, + 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, + 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcc, 0x01, 0x0a, 0x18, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd4, 0x01, 0x0a, 0x0f, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, + 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, + 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, + 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, + 0xdc, 0x01, 0x0a, 0x19, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, + 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, + 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, + 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, + 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, + 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, + 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, + 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7b, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x06, 0x42, 0x6b, 0xc2, 0x48, 0x68, 0x0a, 0x66, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, + 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, + 0x69, 0x6e, 0x12, 0x7f, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x06, 0x42, 0x68, 0xc2, 0x48, 0x65, 0x0a, 0x63, 0x0a, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, + 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, + 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, + 0x74, 0x49, 0x6e, 0x12, 0x36, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x06, 0x42, 0x1c, 0xc2, 0x48, 0x19, 0x0a, 0x17, 0x0a, 0x0f, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x36, 0x34, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, + 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, + 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, + 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, + 0x68, 0x61, 0x6e, 0x22, 0xc8, 0x15, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x73, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0f, 0x42, 0x5d, 0xc2, 0x48, 0x5a, 0x0a, 0x58, 0x0a, 0x0e, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, + 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x91, 0x01, 0x0a, 0x02, 0x6c, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x7f, 0xc2, 0x48, 0x7c, 0x0a, 0x7a, 0x0a, 0x0b, + 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, + 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa4, + 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x8f, 0x01, 0xc2, + 0x48, 0x8b, 0x01, 0x0a, 0x88, 0x01, 0x0a, 0x0c, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, + 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xaa, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0f, 0x42, 0x97, 0x07, 0xc2, 0x48, 0x93, 0x07, 0x0a, 0x7d, 0x0a, 0x0b, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb6, 0x01, 0x0a, 0x0e, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, + 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x0a, 0xbe, 0x01, 0x0a, 0x18, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, + 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, + 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, + 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x0a, 0xc6, 0x01, 0x0a, 0x0f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, + 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, + 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xce, 0x01, 0x0a, 0x19, + 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, + 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, + 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, + 0x67, 0x74, 0x12, 0xf7, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0f, + 0x42, 0xe2, 0x07, 0xc2, 0x48, 0xde, 0x07, 0x0a, 0x8b, 0x01, 0x0a, 0x0c, 0x73, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, - 0xd4, 0x01, 0x0a, 0x0f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, - 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, - 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, - 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdc, 0x01, 0x0a, 0x19, 0x66, 0x69, 0x78, 0x65, 0x64, - 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc5, 0x01, 0x0a, 0x0f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, + 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcd, 0x01, + 0x0a, 0x19, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, + 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, + 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd5, 0x01, + 0x0a, 0x10, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, + 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, + 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, + 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, + 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdd, 0x01, 0x0a, 0x1a, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, @@ -7973,464 +8932,302 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7b, 0x0a, 0x02, - 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x06, 0x42, 0x6b, 0xc2, 0x48, 0x68, 0x0a, 0x66, 0x0a, - 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, - 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7f, 0x0a, 0x06, 0x6e, 0x6f, 0x74, - 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x06, 0x42, 0x68, 0xc2, 0x48, 0x65, 0x0a, 0x63, - 0x0a, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, - 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, - 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, - 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x22, 0x93, 0x15, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x78, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0f, 0x42, 0x5d, 0xc2, 0x48, 0x5a, 0x0a, 0x58, 0x0a, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x33, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x91, 0x01, - 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x7f, 0xc2, 0x48, 0x7c, 0x0a, - 0x7a, 0x0a, 0x0b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, - 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, - 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, - 0x74, 0x12, 0xa4, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0f, 0x42, - 0x8f, 0x01, 0xc2, 0x48, 0x8b, 0x01, 0x0a, 0x88, 0x01, 0x0a, 0x0c, 0x73, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, - 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xaa, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x97, 0x07, 0xc2, 0x48, 0x93, 0x07, 0x0a, 0x7d, 0x0a, 0x0b, - 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb6, 0x01, 0x0a, 0x0e, - 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, - 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbe, 0x01, 0x0a, 0x18, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7c, 0x0a, 0x02, + 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0f, 0x42, 0x6c, 0xc2, 0x48, 0x69, 0x0a, 0x67, 0x0a, + 0x0b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, + 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, + 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x80, 0x01, 0x0a, 0x06, 0x6e, + 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0f, 0x42, 0x69, 0xc2, 0x48, 0x66, + 0x0a, 0x64, 0x0a, 0x0f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6e, 0x6f, 0x74, + 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, + 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, + 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x37, 0x0a, + 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0f, 0x42, 0x1d, + 0xc2, 0x48, 0x1a, 0x0a, 0x18, 0x0a, 0x10, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, + 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, + 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x22, 0xc8, + 0x15, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x12, 0x73, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, + 0x5d, 0xc2, 0x48, 0x5a, 0x0a, 0x58, 0x0a, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc6, 0x01, 0x0a, 0x0f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, - 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xce, - 0x01, 0x0a, 0x19, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, - 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, - 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, - 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, - 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xf7, 0x07, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0f, 0x42, 0xe2, 0x07, 0xc2, 0x48, 0xde, 0x07, 0x0a, 0x8b, 0x01, 0x0a, 0x0c, 0x73, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc5, 0x01, 0x0a, 0x0f, 0x73, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, - 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, - 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x0a, 0xcd, 0x01, 0x0a, 0x19, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, - 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, - 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x0a, 0xd5, 0x01, 0x0a, 0x10, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, - 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdd, 0x01, 0x0a, 0x1a, 0x73, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, - 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, - 0x7c, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0f, 0x42, 0x6c, 0xc2, 0x48, 0x69, - 0x0a, 0x67, 0x0a, 0x0b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, - 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, - 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, - 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x80, 0x01, - 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0f, 0x42, 0x69, - 0xc2, 0x48, 0x66, 0x0a, 0x64, 0x0a, 0x0f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, - 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, - 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, - 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, - 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0x93, 0x15, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, - 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x78, 0x0a, 0x05, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x5d, 0xc2, 0x48, 0x5a, 0x0a, 0x58, 0x0a, - 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, - 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x91, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x10, - 0x42, 0x7f, 0xc2, 0x48, 0x7c, 0x0a, 0x7a, 0x0a, 0x0b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, - 0x34, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa4, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x10, 0x42, 0x8f, 0x01, 0xc2, 0x48, 0x8b, 0x01, 0x0a, 0x88, 0x01, 0x0a, - 0x0c, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, - 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xaa, - 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x10, 0x42, 0x97, 0x07, 0xc2, 0x48, - 0x93, 0x07, 0x0a, 0x7d, 0x0a, 0x0b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, - 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x0a, 0xb6, 0x01, 0x0a, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, - 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, - 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbe, 0x01, 0x0a, 0x18, 0x73, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, - 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc6, 0x01, 0x0a, 0x0f, - 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, - 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, - 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xce, 0x01, 0x0a, 0x19, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, - 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, - 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xf7, 0x07, 0x0a, 0x03, - 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x10, 0x42, 0xe2, 0x07, 0xc2, 0x48, 0xde, 0x07, - 0x0a, 0x8b, 0x01, 0x0a, 0x0c, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, - 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x91, 0x01, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x10, 0x42, 0x7f, 0xc2, 0x48, 0x7c, 0x0a, 0x7a, 0x0a, 0x0b, 0x73, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xa4, 0x01, 0x0a, 0x03, 0x6c, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x10, 0x42, 0x8f, 0x01, 0xc2, 0x48, 0x8b, 0x01, 0x0a, 0x88, + 0x01, 0x0a, 0x0c, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x65, 0x1a, + 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, + 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, + 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, + 0x12, 0xaa, 0x07, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x10, 0x42, 0x97, 0x07, + 0xc2, 0x48, 0x93, 0x07, 0x0a, 0x7d, 0x0a, 0x0b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, + 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x0a, 0xb6, 0x01, 0x0a, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc5, - 0x01, 0x0a, 0x0f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, - 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, - 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbe, 0x01, 0x0a, + 0x18, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc6, 0x01, + 0x0a, 0x0f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, + 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, + 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, - 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, - 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcd, 0x01, 0x0a, 0x19, 0x73, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, + 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, - 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd5, 0x01, 0x0a, 0x10, 0x73, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, - 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdd, - 0x01, 0x0a, 0x1a, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, - 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, + 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, + 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xce, 0x01, 0x0a, 0x19, 0x73, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, + 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, + 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0xf7, 0x07, + 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x10, 0x42, 0xe2, 0x07, 0xc2, 0x48, + 0xde, 0x07, 0x0a, 0x8b, 0x01, 0x0a, 0x0c, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, + 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x0a, 0xc5, 0x01, 0x0a, 0x0f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, + 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, + 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, + 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcd, 0x01, 0x0a, 0x19, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd5, 0x01, 0x0a, 0x10, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, - 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, - 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, - 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7c, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x10, 0x42, 0x6c, 0xc2, 0x48, 0x69, 0x0a, 0x67, 0x0a, 0x0b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, - 0x36, 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, - 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, - 0x02, 0x69, 0x6e, 0x12, 0x80, 0x01, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x10, 0x42, 0x69, 0xc2, 0x48, 0x66, 0x0a, 0x64, 0x0a, 0x0f, 0x73, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, - 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, - 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, - 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, - 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, - 0x68, 0x61, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0x8b, 0x01, - 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x74, 0x0a, 0x05, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x59, 0xc2, 0x48, 0x56, 0x0a, - 0x54, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, - 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0xae, 0x35, 0x0a, 0x0b, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x78, 0x0a, 0x05, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5d, 0xc2, 0x48, 0x5a, 0x0a, - 0x58, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, - 0x48, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x05, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x88, 0x01, 0x0a, 0x03, 0x6c, 0x65, 0x6e, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x04, 0x42, 0x71, 0xc2, 0x48, 0x6e, 0x0a, 0x6c, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x6c, 0x65, 0x6e, 0x1a, 0x5e, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, + 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x0a, 0xdd, 0x01, 0x0a, 0x1a, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, + 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, + 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, + 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, + 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, + 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x7c, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x10, 0x42, 0x6c, 0xc2, 0x48, 0x69, 0x0a, 0x67, 0x0a, 0x0b, 0x73, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x36, 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, + 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, + 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x80, 0x01, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x10, 0x42, 0x69, 0xc2, 0x48, 0x66, 0x0a, 0x64, 0x0a, 0x0f, 0x73, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, + 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, + 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x37, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x10, 0x42, 0x1d, 0xc2, 0x48, 0x1a, 0x0a, 0x18, + 0x0a, 0x10, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, 0x09, + 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x09, 0x42, 0x6f, + 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x6f, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x59, 0xc2, 0x48, 0x56, 0x0a, 0x54, 0x0a, 0x0a, 0x62, + 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, + 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x08, 0x42, 0x19, 0xc2, 0x48, 0x16, 0x0a, 0x14, + 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x04, + 0x74, 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2a, 0x09, 0x08, + 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0xa1, 0x39, 0x0a, 0x0b, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x73, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5d, 0xc2, 0x48, 0x5a, 0x0a, 0x58, 0x0a, 0x0c, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x48, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, + 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x83, 0x01, + 0x0a, 0x03, 0x6c, 0x65, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x42, 0x71, 0xc2, 0x48, 0x6e, + 0x0a, 0x6c, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x65, 0x6e, 0x1a, 0x5e, + 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, + 0x29, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x20, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x25, 0x73, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, + 0x74, 0x65, 0x72, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x03, + 0x6c, 0x65, 0x6e, 0x12, 0xa1, 0x01, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x87, 0x01, 0xc2, 0x48, 0x83, 0x01, 0x0a, 0x80, 0x01, 0x0a, + 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x1a, + 0x6e, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, + 0x29, 0x29, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, + 0x65, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, + 0x61, 0x73, 0x74, 0x20, 0x25, 0x73, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, + 0x06, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x9f, 0x01, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, + 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x85, 0x01, 0xc2, 0x48, 0x81, 0x01, + 0x0a, 0x7f, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x6c, + 0x65, 0x6e, 0x1a, 0x6d, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, + 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x61, + 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, + 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x25, 0x73, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, + 0x65, 0x72, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0xa5, 0x01, 0x0a, 0x09, 0x6c, 0x65, + 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x42, 0x87, 0x01, + 0xc2, 0x48, 0x83, 0x01, 0x0a, 0x80, 0x01, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x6c, 0x65, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x6c, 0x75, 0x69, 0x6e, 0x74, 0x28, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x2e, 0x73, 0x69, 0x7a, 0x65, + 0x28, 0x29, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x25, - 0x73, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x27, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x5d, - 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x02, 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0xa6, 0x01, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x87, 0x01, 0xc2, 0x48, 0x83, 0x01, 0x0a, 0x80, 0x01, 0x0a, 0x0e, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x1a, 0x6e, 0x75, 0x69, - 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, - 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x20, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, - 0x20, 0x25, 0x73, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x69, - 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x03, 0x52, 0x06, - 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0xa4, 0x01, 0x0a, 0x07, 0x6d, 0x61, - 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x85, 0x01, 0xc2, 0x48, - 0x81, 0x01, 0x0a, 0x7f, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x61, 0x78, - 0x5f, 0x6c, 0x65, 0x6e, 0x1a, 0x6d, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x25, 0x73, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, - 0x63, 0x74, 0x65, 0x72, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x48, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0xaa, 0x01, 0x0a, 0x09, 0x6c, 0x65, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x04, 0x42, 0x87, 0x01, 0xc2, 0x48, 0x83, 0x01, 0x0a, 0x80, 0x01, 0x0a, 0x10, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x65, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x1a, 0x6c, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x62, 0x79, 0x74, 0x65, 0x73, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x29, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x3f, 0x20, + 0x73, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x08, 0x6c, 0x65, 0x6e, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x8f, 0x01, 0xc2, 0x48, 0x8b, 0x01, 0x0a, 0x88, 0x01, 0x0a, + 0x10, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x1a, 0x74, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x62, 0x79, 0x74, 0x65, 0x73, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x29, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x25, 0x73, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x65, - 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x05, - 0x52, 0x08, 0x6c, 0x65, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0xb2, 0x01, - 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x42, 0x8f, 0x01, 0xc2, 0x48, 0x8b, 0x01, 0x0a, 0x88, 0x01, 0x0a, 0x10, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x74, 0x75, - 0x69, 0x6e, 0x74, 0x28, 0x62, 0x79, 0x74, 0x65, 0x73, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x2e, - 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x25, 0x73, 0x20, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x48, 0x06, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, - 0x01, 0x01, 0x12, 0xb1, 0x01, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x8e, 0x01, 0xc2, 0x48, 0x8a, 0x01, 0x0a, 0x87, 0x01, - 0x0a, 0x10, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x1a, 0x73, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x62, 0x79, 0x74, 0x65, 0x73, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x29, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3e, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x25, + 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x25, 0x73, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, - 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x07, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x7c, 0xc2, 0x48, 0x79, 0x0a, 0x77, 0x0a, - 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x1a, - 0x65, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x29, 0x20, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x72, 0x65, 0x67, 0x65, 0x78, 0x20, 0x70, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x5d, - 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x08, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x91, 0x01, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x74, 0xc2, 0x48, 0x71, 0x0a, 0x6f, 0x0a, 0x0d, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x5e, 0x21, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, - 0x76, 0x65, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x09, 0x52, 0x06, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x8f, 0x01, 0x0a, 0x06, 0x73, 0x75, 0x66, + 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x8e, 0x01, 0xc2, 0x48, 0x8a, 0x01, 0x0a, 0x87, 0x01, 0x0a, + 0x10, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x1a, 0x73, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x62, 0x79, 0x74, 0x65, 0x73, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x29, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3e, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x3f, 0x20, + 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x25, 0x73, + 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5d, + 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, + 0x12, 0x96, 0x01, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x7c, 0xc2, 0x48, 0x79, 0x0a, 0x77, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x1a, 0x65, 0x21, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, + 0x72, 0x65, 0x67, 0x65, 0x78, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x60, 0x25, + 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x8c, 0x01, 0x0a, 0x06, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x74, 0xc2, 0x48, 0x71, 0x0a, + 0x6f, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x1a, 0x5e, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x57, 0x69, + 0x74, 0x68, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x29, + 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x60, + 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, + 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x8a, 0x01, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x72, 0xc2, 0x48, 0x6f, 0x0a, 0x6d, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x1a, 0x5c, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x65, 0x6e, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x28, @@ -8438,362 +9235,395 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x0a, 0x52, - 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x9f, 0x01, 0x0a, 0x08, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x7e, 0xc2, - 0x48, 0x7b, 0x0a, 0x79, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x1a, 0x66, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x73, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, - 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, - 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x0b, 0x52, - 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0xaa, 0x01, 0x0a, - 0x0c, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x17, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x81, 0x01, 0xc2, 0x48, 0x7e, 0x0a, 0x7c, 0x0a, 0x13, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, - 0x1a, 0x65, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x73, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, - 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x0c, 0x52, 0x0b, 0x6e, 0x6f, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x7a, 0x0a, 0x02, 0x69, 0x6e, 0x18, - 0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x6a, 0xc2, 0x48, 0x67, 0x0a, 0x65, 0x0a, 0x09, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, - 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, - 0x0b, 0x20, 0x03, 0x28, 0x09, 0x42, 0x67, 0xc2, 0x48, 0x64, 0x0a, 0x62, 0x0a, 0x0d, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, - 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, - 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0xc6, 0x01, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0xad, 0x01, 0xc2, 0x48, 0xa9, 0x01, 0x0a, 0x51, 0x0a, 0x0c, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x23, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x1a, 0x1c, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x28, 0x29, 0x0a, - 0x54, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x0a, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0xcb, - 0x01, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x08, 0x42, 0xac, 0x01, 0xc2, 0x48, 0xa8, 0x01, 0x0a, 0x52, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x1f, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x69, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x29, 0x0a, 0x52, 0x0a, 0x15, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x5f, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, - 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x0a, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, - 0x48, 0x00, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb1, 0x01, 0x0a, - 0x02, 0x69, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x42, 0x9e, 0x01, 0xc2, 0x48, 0x9a, 0x01, - 0x0a, 0x48, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x12, 0x20, 0x76, + 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x06, 0x73, + 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x9a, 0x01, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x7e, 0xc2, 0x48, 0x7b, 0x0a, 0x79, 0x0a, + 0x0f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, + 0x1a, 0x66, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x29, + 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x42, 0x81, 0x01, 0xc2, 0x48, 0x7e, 0x0a, + 0x7c, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x1a, 0x65, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x73, 0x75, 0x62, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x0b, 0x6e, + 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x7a, 0x0a, 0x02, 0x69, 0x6e, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x6a, 0xc2, 0x48, 0x67, 0x0a, 0x65, 0x0a, 0x09, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, + 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7e, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, + 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x42, 0x67, 0xc2, 0x48, 0x64, 0x0a, 0x62, 0x0a, 0x0d, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, + 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, + 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, + 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0xe6, 0x01, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0xcd, 0x01, 0xc2, 0x48, 0xc9, 0x01, 0x0a, 0x61, 0x0a, + 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x23, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, - 0x19, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x70, 0x28, 0x29, 0x0a, 0x4e, 0x0a, 0x0f, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, - 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x0a, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x69, 0x70, - 0x12, 0xbe, 0x01, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, - 0xa7, 0x01, 0xc2, 0x48, 0xa3, 0x01, 0x0a, 0x4d, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x69, 0x70, 0x76, 0x34, 0x12, 0x22, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, - 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x1a, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x61, 0x6c, 0x69, 0x64, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x1a, 0x2c, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, + 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x28, 0x29, + 0x0a, 0x64, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, + 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x1a, 0x21, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0xf1, 0x01, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x08, 0x42, 0xd2, 0x01, 0xc2, 0x48, 0xce, 0x01, 0x0a, 0x65, 0x0a, 0x0f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x32, 0x21, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x7c, 0x7c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x29, + 0x0a, 0x65, 0x0a, 0x15, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, + 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, + 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x1d, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0xcb, 0x01, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, + 0x42, 0xb8, 0x01, 0xc2, 0x48, 0xb4, 0x01, 0x0a, 0x55, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x69, 0x70, 0x12, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x26, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, + 0x70, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, + 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x70, 0x28, 0x29, 0x0a, 0x5b, + 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x5f, 0x65, 0x6d, 0x70, 0x74, + 0x79, 0x12, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, + 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x1a, 0x17, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x20, 0x7c, 0x7c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x69, + 0x70, 0x12, 0xdc, 0x01, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, + 0x42, 0xc5, 0x01, 0xc2, 0x48, 0xc1, 0x01, 0x0a, 0x5c, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x12, 0x22, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, + 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x29, 0x21, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, - 0x49, 0x70, 0x28, 0x34, 0x29, 0x0a, 0x52, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x49, 0x70, 0x28, 0x34, 0x29, 0x0a, 0x61, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x0a, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, - 0x34, 0x12, 0xbe, 0x01, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, - 0x42, 0xa7, 0x01, 0xc2, 0x48, 0xa3, 0x01, 0x0a, 0x4d, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x12, 0x22, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, - 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x1a, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, - 0x73, 0x49, 0x70, 0x28, 0x36, 0x29, 0x0a, 0x52, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, 0x76, 0x61, 0x6c, + 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x19, 0x21, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, + 0x12, 0xdc, 0x01, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x42, + 0xc5, 0x01, 0xc2, 0x48, 0xc1, 0x01, 0x0a, 0x5c, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x69, 0x70, 0x76, 0x36, 0x12, 0x22, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, + 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x29, 0x21, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, + 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, + 0x70, 0x28, 0x36, 0x29, 0x0a, 0x61, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, + 0x70, 0x76, 0x36, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, + 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, + 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x19, 0x21, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x12, + 0xc4, 0x01, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x42, 0xaf, 0x01, + 0xc2, 0x48, 0xab, 0x01, 0x0a, 0x51, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, + 0x72, 0x69, 0x12, 0x19, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x52, 0x49, 0x1a, 0x28, 0x21, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x75, 0x72, 0x69, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x69, 0x73, 0x55, 0x72, 0x69, 0x28, 0x29, 0x0a, 0x56, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x75, 0x72, 0x69, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x0a, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, - 0x76, 0x36, 0x12, 0xa8, 0x01, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x93, 0x01, 0xc2, 0x48, 0x8f, 0x01, 0x0a, 0x43, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x75, 0x72, 0x69, 0x12, 0x19, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x52, 0x49, - 0x1a, 0x1a, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x55, 0x72, 0x69, 0x28, 0x29, 0x0a, 0x48, 0x0a, 0x10, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x72, 0x69, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x12, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, - 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x52, 0x49, 0x1a, 0x0a, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x5c, 0x0a, - 0x07, 0x75, 0x72, 0x69, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x42, 0x41, - 0xc2, 0x48, 0x3e, 0x0a, 0x3c, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x72, - 0x69, 0x5f, 0x72, 0x65, 0x66, 0x12, 0x19, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x52, 0x49, - 0x1a, 0x0f, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x55, 0x72, 0x69, 0x52, 0x65, 0x66, 0x28, - 0x29, 0x48, 0x00, 0x52, 0x06, 0x75, 0x72, 0x69, 0x52, 0x65, 0x66, 0x12, 0xf4, 0x01, 0x0a, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x42, 0xd7, 0x01, - 0xc2, 0x48, 0xd3, 0x01, 0x0a, 0x6f, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x68, 0x6f, - 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x70, 0x20, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x2e, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, - 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x48, 0x6f, 0x73, 0x74, - 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, - 0x73, 0x49, 0x70, 0x28, 0x29, 0x0a, 0x60, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, - 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x6f, 0x72, - 0x20, 0x69, 0x70, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x0a, 0x74, 0x68, 0x69, + 0x64, 0x20, 0x55, 0x52, 0x49, 0x1a, 0x18, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x75, 0x72, + 0x69, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, + 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x6e, 0x0a, 0x07, 0x75, 0x72, 0x69, 0x5f, 0x72, 0x65, + 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x42, 0x53, 0xc2, 0x48, 0x50, 0x0a, 0x4e, 0x0a, 0x0e, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x72, 0x69, 0x5f, 0x72, 0x65, 0x66, 0x12, 0x19, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x52, 0x49, 0x1a, 0x21, 0x21, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x75, 0x72, 0x69, 0x5f, 0x72, 0x65, 0x66, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x69, 0x73, 0x55, 0x72, 0x69, 0x52, 0x65, 0x66, 0x28, 0x29, 0x48, 0x00, 0x52, 0x06, + 0x75, 0x72, 0x69, 0x52, 0x65, 0x66, 0x12, 0x99, 0x02, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x42, 0xfc, 0x01, 0xc2, 0x48, 0xf8, 0x01, 0x0a, + 0x81, 0x01, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x70, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x1a, 0x40, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, + 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x28, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, + 0x70, 0x28, 0x29, 0x0a, 0x72, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, + 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x69, + 0x70, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x1c, 0x21, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x80, 0x02, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, - 0x08, 0x42, 0xe9, 0x01, 0xc2, 0x48, 0xe5, 0x01, 0x0a, 0x96, 0x01, 0x0a, 0x0b, 0x73, 0x74, 0x72, + 0x73, 0x73, 0x12, 0x9e, 0x02, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x87, 0x02, 0xc2, 0x48, 0x83, 0x02, 0x0a, 0xa5, 0x01, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, - 0x55, 0x55, 0x49, 0x44, 0x1a, 0x6b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, - 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x28, 0x27, 0x5e, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x38, - 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, + 0x55, 0x55, 0x49, 0x44, 0x1a, 0x7a, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x75, 0x75, 0x69, + 0x64, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, + 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, + 0x27, 0x5e, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x38, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, - 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x31, 0x32, 0x7d, 0x24, 0x27, - 0x29, 0x0a, 0x4a, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x75, 0x69, 0x64, - 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x29, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x55, 0x49, - 0x44, 0x1a, 0x0a, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0xd7, 0x01, 0x0a, 0x05, 0x74, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x21, 0x20, 0x01, 0x28, 0x08, 0x42, 0xbe, 0x01, 0xc2, 0x48, 0xba, 0x01, 0x0a, 0x63, 0x0a, 0x0c, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x74, 0x75, 0x75, 0x69, 0x64, 0x12, 0x22, 0x76, 0x61, + 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x34, 0x7d, 0x2d, 0x5b, 0x30, + 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x31, 0x32, 0x7d, 0x24, 0x27, 0x29, + 0x0a, 0x59, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x75, 0x69, 0x64, 0x5f, + 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x29, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, + 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, + 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, + 0x1a, 0x19, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x75, 0x75, 0x69, 0x64, 0x20, 0x7c, 0x7c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x12, 0xf7, 0x01, 0x0a, 0x05, 0x74, 0x75, 0x75, 0x69, 0x64, 0x18, 0x21, 0x20, + 0x01, 0x28, 0x08, 0x42, 0xde, 0x01, 0xc2, 0x48, 0xda, 0x01, 0x0a, 0x73, 0x0a, 0x0c, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x74, 0x75, 0x75, 0x69, 0x64, 0x12, 0x22, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x20, 0x74, 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, 0x1a, 0x3f, + 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x74, 0x75, 0x75, 0x69, 0x64, 0x20, 0x7c, 0x7c, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, 0x5b, 0x30, 0x2d, + 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x33, 0x32, 0x7d, 0x24, 0x27, 0x29, 0x0a, + 0x63, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x74, 0x75, 0x75, 0x69, 0x64, 0x5f, + 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, + 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, + 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x74, 0x72, 0x69, 0x6d, + 0x6d, 0x65, 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, 0x1a, 0x1a, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x74, 0x75, 0x75, 0x69, 0x64, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, + 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x05, 0x74, 0x75, 0x75, 0x69, 0x64, 0x12, 0xa7, 0x02, + 0x0a, 0x11, 0x69, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x6c, 0x65, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x42, 0xf8, 0x01, 0xc2, 0x48, 0xf4, 0x01, + 0x0a, 0x78, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x5f, 0x77, 0x69, + 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x12, 0x1f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x20, 0x74, 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, - 0x1a, 0x2f, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, 0x5b, - 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x5d, 0x7b, 0x33, 0x32, 0x7d, 0x24, 0x27, - 0x29, 0x0a, 0x53, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x74, 0x75, 0x75, 0x69, - 0x64, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, - 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x74, 0x72, - 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, 0x1a, 0x0a, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x05, 0x74, 0x75, 0x75, 0x69, 0x64, 0x12, - 0xef, 0x01, 0x0a, 0x11, 0x69, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x42, 0xc0, 0x01, 0xc2, 0x48, - 0xbc, 0x01, 0x0a, 0x5c, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x5f, - 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x12, 0x1f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, - 0x1f, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x28, 0x29, - 0x0a, 0x5c, 0x0a, 0x1e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x5f, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0x12, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x1a, 0x0a, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, - 0x52, 0x0f, 0x69, 0x70, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, - 0x6e, 0x12, 0xa4, 0x02, 0x0a, 0x13, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, - 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x42, - 0xf1, 0x01, 0xc2, 0x48, 0xed, 0x01, 0x0a, 0x75, 0x0a, 0x1a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x6c, 0x65, 0x6e, 0x12, 0x35, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x34, - 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x1a, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x69, 0x73, 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x28, 0x34, 0x29, 0x0a, 0x74, 0x0a, - 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x77, 0x69, 0x74, - 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x12, 0x44, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x1a, 0x0a, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, - 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x11, 0x69, 0x70, 0x76, 0x34, 0x57, 0x69, 0x74, 0x68, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x12, 0xa4, 0x02, 0x0a, 0x13, 0x69, 0x70, 0x76, - 0x36, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, - 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x42, 0xf1, 0x01, 0xc2, 0x48, 0xed, 0x01, 0x0a, 0x75, 0x0a, - 0x1a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x77, 0x69, 0x74, + 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x3b, 0x21, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, + 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x28, 0x29, 0x0a, 0x78, 0x0a, 0x1e, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2e, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, + 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x26, 0x21, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, + 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x70, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x12, 0xe2, 0x02, 0x0a, 0x13, 0x69, 0x70, 0x76, 0x34, + 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x08, 0x42, 0xaf, 0x02, 0xc2, 0x48, 0xab, 0x02, 0x0a, 0x93, 0x01, 0x0a, + 0x1a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x12, 0x35, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x1a, 0x3e, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x5f, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x20, 0x7c, + 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x28, + 0x34, 0x29, 0x0a, 0x92, 0x01, 0x0a, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, + 0x76, 0x34, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, + 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, + 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, + 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x1a, 0x28, 0x21, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x11, 0x69, 0x70, 0x76, 0x34, 0x57, + 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x12, 0xe2, 0x02, 0x0a, + 0x13, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x6c, 0x65, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x42, 0xaf, 0x02, 0xc2, 0x48, 0xab, + 0x02, 0x0a, 0x93, 0x01, 0x0a, 0x1a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x76, + 0x36, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, + 0x12, 0x35, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x1a, 0x3e, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x69, 0x70, 0x76, 0x36, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x6c, 0x65, 0x6e, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, + 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x70, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x28, 0x36, 0x29, 0x0a, 0x92, 0x01, 0x0a, 0x20, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, + 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x1a, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, - 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x28, 0x36, 0x29, 0x0a, 0x74, 0x0a, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, - 0x70, 0x76, 0x36, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, - 0x65, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, - 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, - 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x1a, 0x0a, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x11, 0x69, 0x70, - 0x76, 0x36, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x12, - 0xd4, 0x01, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x1d, 0x20, - 0x01, 0x28, 0x08, 0x42, 0xb4, 0x01, 0xc2, 0x48, 0xb0, 0x01, 0x0a, 0x58, 0x0a, 0x10, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, - 0x23, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x28, 0x74, - 0x72, 0x75, 0x65, 0x29, 0x0a, 0x54, 0x0a, 0x16, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, - 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2e, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, - 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x0a, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x08, 0x69, 0x70, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0xe3, 0x01, 0x0a, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x5f, - 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x42, 0xbf, 0x01, 0xc2, - 0x48, 0xbb, 0x01, 0x0a, 0x5f, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, - 0x76, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x26, 0x74, 0x68, + 0x74, 0x68, 0x1a, 0x28, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x5f, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x20, 0x7c, + 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x11, + 0x69, 0x70, 0x76, 0x36, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, + 0x6e, 0x12, 0xfc, 0x01, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, + 0x1d, 0x20, 0x01, 0x28, 0x08, 0x42, 0xdc, 0x01, 0xc2, 0x48, 0xd8, 0x01, 0x0a, 0x6c, 0x0a, 0x10, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x12, 0x1f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x1a, 0x37, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, + 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x70, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x28, 0x74, 0x72, 0x75, 0x65, 0x29, 0x0a, 0x68, 0x0a, 0x16, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x65, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, + 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x1a, 0x1e, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, + 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x08, 0x69, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x12, 0x8f, 0x02, 0x0a, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x42, 0xeb, 0x01, 0xc2, 0x48, 0xe7, 0x01, 0x0a, 0x75, 0x0a, + 0x12, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x12, 0x21, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x3c, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, + 0x70, 0x76, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x28, 0x34, 0x2c, 0x20, 0x74, - 0x72, 0x75, 0x65, 0x29, 0x0a, 0x58, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, + 0x72, 0x75, 0x65, 0x29, 0x0a, 0x6e, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x30, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x1a, 0x0a, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, - 0x52, 0x0a, 0x69, 0x70, 0x76, 0x34, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0xe3, 0x01, 0x0a, - 0x0b, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x1f, 0x20, 0x01, - 0x28, 0x08, 0x42, 0xbf, 0x01, 0xc2, 0x48, 0xbb, 0x01, 0x0a, 0x5f, 0x0a, 0x12, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, - 0x21, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, - 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x1a, 0x26, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, - 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x28, 0x36, 0x2c, 0x20, 0x74, 0x72, 0x75, 0x65, 0x29, 0x0a, 0x58, 0x0a, 0x18, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x30, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, + 0x69, 0x78, 0x1a, 0x20, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, + 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x70, 0x76, 0x34, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x12, 0x8f, 0x02, 0x0a, 0x0b, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x42, 0xeb, 0x01, 0xc2, 0x48, 0xe7, 0x01, 0x0a, + 0x75, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, + 0x36, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x3c, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x7c, 0x7c, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x69, 0x73, 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x28, 0x36, 0x2c, + 0x20, 0x74, 0x72, 0x75, 0x65, 0x29, 0x0a, 0x6e, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x30, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x1a, 0x20, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, + 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x70, 0x76, 0x36, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x12, 0xc2, 0x02, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x6e, + 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x42, 0x9b, 0x02, 0xc2, + 0x48, 0x97, 0x02, 0x0a, 0x99, 0x01, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x68, + 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x41, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x28, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x49, 0x50, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x29, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x61, 0x69, 0x72, 0x1a, + 0x3e, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x6e, 0x64, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, + 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x73, 0x48, 0x6f, + 0x73, 0x74, 0x41, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x28, 0x74, 0x72, 0x75, 0x65, 0x29, 0x0a, + 0x79, 0x0a, 0x1a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x61, + 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, + 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x72, + 0x74, 0x20, 0x70, 0x61, 0x69, 0x72, 0x1a, 0x22, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x68, + 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x7c, 0x7c, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x6f, + 0x73, 0x74, 0x41, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0xb8, 0x05, 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, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x42, 0xf1, + 0x04, 0xc2, 0x48, 0xed, 0x04, 0x0a, 0xf0, 0x01, 0x0a, 0x23, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, + 0x78, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xa0, 0x01, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x77, 0x65, + 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x20, 0x21, + 0x3d, 0x20, 0x31, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, + 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x28, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x69, 0x63, 0x74, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x69, 0x63, 0x74, 0x20, 0x3f, 0x27, 0x5e, 0x3a, 0x3f, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, + 0x7a, 0x41, 0x2d, 0x5a, 0x21, 0x23, 0x24, 0x25, 0x26, 0x5c, 0x27, 0x2a, 0x2b, 0x2d, 0x2e, 0x5e, + 0x5f, 0x7c, 0x7e, 0x5c, 0x78, 0x36, 0x30, 0x5d, 0x2b, 0x24, 0x27, 0x20, 0x3a, 0x27, 0x5e, 0x5b, + 0x5e, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x30, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x41, 0x5c, 0x75, 0x30, + 0x30, 0x30, 0x44, 0x5d, 0x2b, 0x24, 0x27, 0x29, 0x0a, 0x8d, 0x01, 0x0a, 0x29, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, + 0x65, 0x67, 0x65, 0x78, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x35, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, - 0x36, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x0a, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, - 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x70, 0x76, 0x36, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x12, 0x92, 0x02, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x6e, 0x64, 0x5f, - 0x70, 0x6f, 0x72, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x42, 0xeb, 0x01, 0xc2, 0x48, 0xe7, - 0x01, 0x0a, 0x81, 0x01, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x68, 0x6f, 0x73, - 0x74, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x41, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x28, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x6f, 0x72, 0x20, 0x49, 0x50, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x29, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x61, 0x69, 0x72, 0x1a, 0x26, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x69, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x28, - 0x74, 0x72, 0x75, 0x65, 0x29, 0x0a, 0x61, 0x0a, 0x1a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x12, 0x37, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x61, 0x69, 0x72, 0x1a, 0x0a, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, - 0x41, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0xb8, 0x05, 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, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x42, 0xf1, 0x04, 0xc2, - 0x48, 0xed, 0x04, 0x0a, 0xf0, 0x01, 0x0a, 0x23, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x77, - 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x1a, 0xa0, 0x01, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x77, 0x65, 0x6c, 0x6c, - 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x20, 0x21, 0x3d, 0x20, - 0x31, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, - 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, - 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x63, - 0x74, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x69, - 0x63, 0x74, 0x20, 0x3f, 0x27, 0x5e, 0x3a, 0x3f, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x7a, 0x41, - 0x2d, 0x5a, 0x21, 0x23, 0x24, 0x25, 0x26, 0x5c, 0x27, 0x2a, 0x2b, 0x2d, 0x2e, 0x5e, 0x5f, 0x7c, - 0x7e, 0x5c, 0x78, 0x36, 0x30, 0x5d, 0x2b, 0x24, 0x27, 0x20, 0x3a, 0x27, 0x5e, 0x5b, 0x5e, 0x5c, - 0x75, 0x30, 0x30, 0x30, 0x30, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x41, 0x5c, 0x75, 0x30, 0x30, 0x30, - 0x44, 0x5d, 0x2b, 0x24, 0x27, 0x29, 0x0a, 0x8d, 0x01, 0x0a, 0x29, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x67, - 0x65, 0x78, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x65, - 0x6d, 0x70, 0x74, 0x79, 0x12, 0x35, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, - 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x29, 0x72, 0x75, 0x6c, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x48, 0x54, 0x54, + 0x50, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x29, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, + 0x72, 0x65, 0x67, 0x65, 0x78, 0x20, 0x21, 0x3d, 0x20, 0x31, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x0a, 0xe7, 0x01, 0x0a, 0x24, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, + 0x65, 0x67, 0x65, 0x78, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x95, 0x01, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, - 0x67, 0x65, 0x78, 0x20, 0x21, 0x3d, 0x20, 0x31, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x0a, 0xe7, 0x01, 0x0a, 0x24, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x67, - 0x65, 0x78, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, - 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x95, 0x01, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, - 0x78, 0x20, 0x21, 0x3d, 0x20, 0x32, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x3f, 0x27, 0x5e, 0x5b, 0x5e, 0x5c, - 0x75, 0x30, 0x30, 0x30, 0x30, 0x2d, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x38, 0x5c, 0x75, 0x30, 0x30, - 0x30, 0x41, 0x2d, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x46, 0x5c, 0x75, 0x30, 0x30, 0x37, 0x46, 0x5d, - 0x2a, 0x24, 0x27, 0x20, 0x3a, 0x27, 0x5e, 0x5b, 0x5e, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x30, 0x5c, - 0x75, 0x30, 0x30, 0x30, 0x41, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x44, 0x5d, 0x2a, 0x24, 0x27, 0x29, - 0x48, 0x00, 0x52, 0x0e, 0x77, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, - 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x19, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x88, 0x01, 0x01, 0x42, - 0x0c, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6c, 0x65, 0x6e, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x65, 0x6e, 0x5f, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x75, 0x66, - 0x66, 0x69, 0x78, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x22, 0x8e, 0x11, 0x0a, - 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x72, 0x0a, 0x05, 0x63, + 0x67, 0x65, 0x78, 0x20, 0x21, 0x3d, 0x20, 0x32, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x3f, 0x27, 0x5e, 0x5b, + 0x5e, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x30, 0x2d, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x38, 0x5c, 0x75, + 0x30, 0x30, 0x30, 0x41, 0x2d, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x46, 0x5c, 0x75, 0x30, 0x30, 0x37, + 0x46, 0x5d, 0x2a, 0x24, 0x27, 0x20, 0x3a, 0x27, 0x5e, 0x5b, 0x5e, 0x5c, 0x75, 0x30, 0x30, 0x30, + 0x30, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x41, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x44, 0x5d, 0x2a, 0x24, + 0x27, 0x29, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, + 0x65, 0x67, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x07, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, 0x42, 0x1b, 0xc2, + 0x48, 0x18, 0x0a, 0x16, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x0c, + 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x22, 0xa3, 0x11, 0x0a, + 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x57, 0xc2, 0x48, 0x54, 0x0a, 0x52, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x43, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x25, 0x78, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x82, 0x01, 0x0a, 0x03, 0x6c, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x42, 0x6b, 0xc2, - 0x48, 0x68, 0x0a, 0x66, 0x0a, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x1a, - 0x59, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, - 0x29, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x20, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x25, 0x73, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x65, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x02, 0x52, 0x03, 0x6c, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x9d, 0x01, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x7f, 0xc2, 0x48, 0x7c, 0x0a, 0x7a, 0x0a, 0x0d, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x1a, 0x69, 0x75, 0x69, - 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, - 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x20, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, - 0x20, 0x25, 0x73, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x03, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x4c, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x95, 0x01, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, + 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x7d, 0x0a, 0x03, 0x6c, 0x65, + 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x42, 0x6b, 0xc2, 0x48, 0x68, 0x0a, 0x66, 0x0a, 0x09, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x1a, 0x59, 0x75, 0x69, 0x6e, 0x74, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x21, 0x3d, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x25, 0x73, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x5d, 0x29, 0x20, + 0x3a, 0x20, 0x27, 0x27, 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x12, 0x98, 0x01, 0x0a, 0x07, 0x6d, 0x69, + 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x7f, 0xc2, 0x48, 0x7c, + 0x0a, 0x7a, 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, + 0x6e, 0x1a, 0x69, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, + 0x65, 0x28, 0x29, 0x29, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, + 0x5f, 0x6c, 0x65, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, + 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x25, 0x73, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x27, 0x2e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x69, + 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x06, 0x6d, 0x69, + 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x90, 0x01, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x77, 0xc2, 0x48, 0x74, 0x0a, 0x72, 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x1a, 0x61, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, @@ -8801,138 +9631,142 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x25, 0x73, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, - 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x9e, 0x01, 0x0a, - 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x7f, - 0xc2, 0x48, 0x7c, 0x0a, 0x7a, 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x70, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x1a, 0x69, 0x21, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x74, 0x68, - 0x69, 0x73, 0x29, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x72, - 0x65, 0x67, 0x65, 0x78, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x60, 0x25, 0x73, - 0x60, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, - 0x05, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x8e, 0x01, - 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x71, - 0xc2, 0x48, 0x6e, 0x0a, 0x6c, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x1a, 0x5c, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x73, 0x57, 0x69, 0x74, 0x68, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x65, 0x66, + 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, + 0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x99, 0x01, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x7f, 0xc2, 0x48, 0x7c, 0x0a, 0x7a, + 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x1a, + 0x69, 0x21, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x2e, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x72, 0x65, 0x67, 0x65, 0x78, 0x20, + 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x60, 0x25, 0x73, 0x60, 0x27, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x12, 0x89, 0x01, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0c, 0x42, 0x71, 0xc2, 0x48, 0x6e, 0x0a, 0x6c, 0x0a, 0x0c, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x5c, 0x21, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, + 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x25, 0x78, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, + 0x87, 0x01, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, + 0x42, 0x6f, 0xc2, 0x48, 0x6c, 0x0a, 0x6a, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x73, + 0x75, 0x66, 0x66, 0x69, 0x78, 0x1a, 0x5a, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x65, 0x6e, 0x64, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, - 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x20, 0x25, 0x78, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x48, 0x06, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x8c, - 0x01, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x42, - 0x6f, 0xc2, 0x48, 0x6c, 0x0a, 0x6a, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x73, 0x75, - 0x66, 0x66, 0x69, 0x78, 0x1a, 0x5a, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x65, 0x6e, 0x64, 0x73, - 0x57, 0x69, 0x74, 0x68, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x73, 0x75, 0x66, 0x66, 0x69, - 0x78, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, - 0x20, 0x25, 0x78, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, - 0x48, 0x07, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x92, 0x01, - 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, - 0x42, 0x71, 0xc2, 0x48, 0x6e, 0x0a, 0x6c, 0x0a, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x1a, 0x5a, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x20, 0x25, 0x78, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x48, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0c, 0x42, - 0x8a, 0x01, 0xc2, 0x48, 0x86, 0x01, 0x0a, 0x83, 0x01, 0x0a, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x2e, 0x69, 0x6e, 0x1a, 0x77, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, - 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x3e, 0x20, 0x30, - 0x20, 0x26, 0x26, 0x20, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, - 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, - 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, - 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, - 0x12, 0x7d, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, - 0x42, 0x66, 0xc2, 0x48, 0x63, 0x0a, 0x61, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x6e, - 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, - 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, - 0xd5, 0x01, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0xc2, 0x01, 0xc2, - 0x48, 0xbe, 0x01, 0x0a, 0x67, 0x0a, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x12, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, - 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x1a, 0x39, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x3d, - 0x3d, 0x20, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, - 0x28, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x34, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x36, 0x0a, 0x53, 0x0a, 0x0e, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, - 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, - 0x10, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x21, 0x3d, 0x20, - 0x30, 0x48, 0x00, 0x52, 0x02, 0x69, 0x70, 0x12, 0xcc, 0x01, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0xb5, 0x01, 0xc2, 0x48, 0xb1, 0x01, 0x0a, 0x56, 0x0a, - 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x12, 0x22, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, - 0x24, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x3d, 0x3d, 0x20, - 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, - 0x20, 0x3d, 0x3d, 0x20, 0x34, 0x0a, 0x57, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, - 0x70, 0x76, 0x34, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, - 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, - 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x10, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x48, 0x00, - 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0xcd, 0x01, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0xb6, 0x01, 0xc2, 0x48, 0xb2, 0x01, 0x0a, 0x57, 0x0a, 0x0a, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x12, 0x22, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x25, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x30, - 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, - 0x3d, 0x3d, 0x20, 0x31, 0x36, 0x0a, 0x57, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, - 0x70, 0x76, 0x36, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x6c, 0x65, 0x73, 0x2e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x8d, 0x01, 0x0a, 0x08, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x71, 0xc2, 0x48, + 0x6e, 0x0a, 0x6c, 0x0a, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x1a, 0x5a, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x25, 0x78, + 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, + 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x02, 0x69, 0x6e, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x8a, 0x01, 0xc2, 0x48, 0x86, 0x01, 0x0a, 0x83, 0x01, + 0x0a, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x1a, 0x77, 0x64, 0x79, 0x6e, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x2e, 0x73, 0x69, 0x7a, + 0x65, 0x28, 0x29, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x26, 0x26, 0x20, 0x21, 0x28, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, + 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, + 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7d, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, + 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x66, 0xc2, 0x48, 0x63, 0x0a, 0x61, 0x0a, 0x0c, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, + 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, + 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, + 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0xef, 0x01, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x08, 0x42, 0xdc, 0x01, 0xc2, 0x48, 0xd8, 0x01, 0x0a, 0x74, 0x0a, 0x08, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x12, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, + 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x46, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x69, 0x70, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, + 0x28, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x34, 0x20, 0x7c, 0x7c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x36, + 0x0a, 0x60, 0x0a, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x5f, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x1a, 0x1d, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x20, 0x7c, + 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x21, 0x3d, + 0x20, 0x30, 0x48, 0x00, 0x52, 0x02, 0x69, 0x70, 0x12, 0xea, 0x01, 0x0a, 0x04, 0x69, 0x70, 0x76, + 0x34, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0xd3, 0x01, 0xc2, 0x48, 0xcf, 0x01, 0x0a, 0x65, + 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x12, 0x22, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x1a, 0x33, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x20, 0x7c, 0x7c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x3d, 0x3d, 0x20, + 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, + 0x20, 0x3d, 0x3d, 0x20, 0x34, 0x0a, 0x66, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, + 0x70, 0x76, 0x34, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, - 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x10, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x48, 0x00, - 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x42, 0x0c, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, - 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x06, - 0x0a, 0x04, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, - 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x22, 0xbc, 0x03, - 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x74, 0x0a, 0x05, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x59, 0xc2, 0x48, 0x56, 0x0a, - 0x54, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x12, 0x78, 0x0a, 0x02, 0x69, 0x6e, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x05, 0x42, 0x68, 0xc2, 0x48, 0x65, 0x0a, 0x63, 0x0a, 0x07, 0x65, 0x6e, - 0x75, 0x6d, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, - 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, - 0x02, 0x69, 0x6e, 0x12, 0x7c, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x05, 0x42, 0x65, 0xc2, 0x48, 0x62, 0x0a, 0x60, 0x0a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, - 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, - 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, - 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0xcd, 0x04, 0x0a, - 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xad, + 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x1f, 0x21, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x48, 0x00, 0x52, + 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0xeb, 0x01, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x08, 0x42, 0xd4, 0x01, 0xc2, 0x48, 0xd0, 0x01, 0x0a, 0x66, 0x0a, 0x0a, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x12, 0x22, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x34, 0x21, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x20, 0x7c, + 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x3d, 0x3d, + 0x20, 0x31, 0x36, 0x0a, 0x66, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, + 0x36, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, + 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, + 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x1f, 0x21, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x48, 0x00, 0x52, 0x04, 0x69, + 0x70, 0x76, 0x36, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x0e, + 0x20, 0x03, 0x28, 0x0c, 0x42, 0x1a, 0xc2, 0x48, 0x17, 0x0a, 0x15, 0x0a, 0x0d, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, + 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, + 0x80, 0x80, 0x80, 0x02, 0x42, 0x0c, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x22, 0xd7, 0x03, 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x12, 0x6f, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x59, 0xc2, 0x48, 0x56, 0x0a, 0x54, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 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, 0x78, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, + 0x42, 0x68, 0xc2, 0x48, 0x65, 0x0a, 0x63, 0x0a, 0x07, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x69, 0x6e, + 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, + 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, + 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, + 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x7c, + 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x42, 0x65, + 0xc2, 0x48, 0x62, 0x0a, 0x60, 0x0a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, + 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, + 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x33, 0x0a, 0x07, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x42, 0x19, 0xc2, + 0x48, 0x16, 0x0a, 0x14, 0x0a, 0x0c, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0xa4, 0x04, 0x0a, + 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xa8, 0x01, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x8a, 0x01, 0xc2, 0x48, 0x86, 0x01, 0x0a, 0x83, 0x01, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, @@ -8942,438 +9776,456 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x75, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x25, 0x64, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x28, 0x73, 0x29, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, - 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, - 0x00, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0xb1, - 0x01, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x8e, 0x01, 0xc2, 0x48, 0x8a, 0x01, 0x0a, 0x87, 0x01, 0x0a, 0x12, 0x72, 0x65, - 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x1a, 0x71, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, - 0x28, 0x29, 0x29, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6e, 0x6f, 0x20, 0x6d, - 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x69, 0x74, 0x65, 0x6d, - 0x28, 0x73, 0x29, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x6c, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x4f, 0xc2, 0x48, 0x4c, 0x0a, 0x4a, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x28, 0x72, 0x65, 0x70, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x0d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x75, 0x6e, 0x69, 0x71, 0x75, - 0x65, 0x28, 0x29, 0x48, 0x02, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x39, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x48, - 0x03, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x75, 0x6e, 0x69, 0x71, - 0x75, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xf1, 0x03, 0x0a, - 0x08, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x09, 0x6d, 0x69, - 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x7c, 0xc2, - 0x48, 0x79, 0x0a, 0x77, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, - 0x69, 0x72, 0x73, 0x1a, 0x66, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, - 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, - 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x20, 0x3f, 0x20, 0x27, 0x6d, 0x61, 0x70, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, - 0x20, 0x25, 0x64, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x70, - 0x61, 0x69, 0x72, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x08, 0x6d, - 0x69, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x9d, 0x01, 0x0a, 0x09, 0x6d, - 0x61, 0x78, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x7b, - 0xc2, 0x48, 0x78, 0x0a, 0x76, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x70, - 0x61, 0x69, 0x72, 0x73, 0x1a, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x20, 0x3f, 0x20, 0x27, 0x6d, 0x61, 0x70, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, - 0x20, 0x25, 0x64, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x70, - 0x61, 0x69, 0x72, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x08, 0x6d, - 0x61, 0x78, 0x50, 0x61, 0x69, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x04, 0x6b, 0x65, - 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x02, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x73, 0x48, 0x03, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x88, 0x01, 0x01, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x22, 0x31, 0x0a, 0x08, 0x41, 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 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, 0xd2, 0x16, 0x0a, 0x0d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x93, 0x01, 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, - 0x42, 0x5d, 0xc2, 0x48, 0x5a, 0x0a, 0x58, 0x0a, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, + 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, + 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x6d, 0x61, + 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x8e, 0x01, + 0xc2, 0x48, 0x8a, 0x01, 0x0a, 0x87, 0x01, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x71, 0x75, 0x69, 0x6e, + 0x74, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3e, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6e, 0x6f, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x28, 0x73, 0x29, 0x27, 0x2e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x61, + 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x08, + 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x78, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x60, 0xc2, 0x48, 0x5d, 0x0a, 0x5b, 0x0a, + 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, + 0x12, 0x28, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x75, 0x6e, + 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x1e, 0x21, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x28, 0x29, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, + 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, + 0x80, 0x80, 0x02, 0x22, 0xb8, 0x03, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x12, 0x99, 0x01, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x42, 0x7c, 0xc2, 0x48, 0x79, 0x0a, 0x77, 0x0a, 0x0d, 0x6d, 0x61, 0x70, + 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x1a, 0x66, 0x75, 0x69, 0x6e, 0x74, + 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x20, + 0x3f, 0x20, 0x27, 0x6d, 0x61, 0x70, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, + 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x25, 0x64, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, + 0x27, 0x27, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x98, 0x01, 0x0a, + 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x42, 0x7b, 0xc2, 0x48, 0x78, 0x0a, 0x76, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x2e, 0x6d, 0x61, 0x78, + 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x1a, 0x65, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x20, 0x3f, 0x20, 0x27, 0x6d, + 0x61, 0x70, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, + 0x73, 0x74, 0x20, 0x25, 0x64, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x27, 0x2e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x78, + 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x08, 0x6d, + 0x61, 0x78, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, + 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x31, + 0x0a, 0x08, 0x41, 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 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, 0xa2, 0x17, 0x0a, 0x0d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x8e, 0x01, 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, 0x42, 0x5d, + 0xc2, 0x48, 0x5a, 0x0a, 0x58, 0x0a, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x12, 0xac, 0x01, 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, 0x42, 0x7f, 0xc2, 0x48, + 0x7c, 0x0a, 0x7a, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x74, + 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, + 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, + 0x02, 0x6c, 0x74, 0x12, 0xbf, 0x01, 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, 0x42, 0x8f, 0x01, 0xc2, + 0x48, 0x8b, 0x01, 0x0a, 0x88, 0x01, 0x0a, 0x0c, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, + 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xc5, 0x07, 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, 0x42, 0x97, 0x07, + 0xc2, 0x48, 0x93, 0x07, 0x0a, 0x7d, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, + 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x0a, 0xb6, 0x01, 0x0a, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbe, 0x01, 0x0a, + 0x18, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc6, 0x01, + 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, + 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, + 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, + 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, + 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, + 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, + 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xce, 0x01, 0x0a, 0x19, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, + 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, - 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0xac, 0x01, 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, 0x42, 0x7f, 0xc2, 0x48, 0x7c, 0x0a, 0x7a, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xbf, 0x01, 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, 0x42, 0x8f, 0x01, 0xc2, 0x48, 0x8b, 0x01, 0x0a, 0x88, 0x01, 0x0a, 0x0c, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0x92, 0x08, + 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, 0x42, 0xe2, 0x07, 0xc2, 0x48, 0xde, 0x07, 0x0a, 0x8b, 0x01, + 0x0a, 0x0c, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, + 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, + 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, + 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc5, 0x01, 0x0a, 0x0f, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, + 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, + 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, + 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x0a, 0xcd, 0x01, 0x0a, 0x19, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, + 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, + 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x0a, 0xd5, 0x01, 0x0a, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, + 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xdd, 0x01, 0x0a, 0x1a, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, + 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, + 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, + 0x74, 0x65, 0x12, 0x97, 0x01, 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, 0x42, 0x6c, 0xc2, 0x48, 0x69, 0x0a, + 0x67, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x69, 0x6e, 0x1a, 0x58, + 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, + 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, + 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x9b, 0x01, 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, 0x42, 0x69, 0xc2, 0x48, 0x66, 0x0a, 0x64, 0x0a, + 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, + 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x52, 0x0a, 0x07, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x09, 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, 0x42, 0x1d, 0xc2, 0x48, 0x1a, 0x0a, 0x18, 0x0a, 0x10, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, + 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2a, 0x09, + 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, + 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x22, 0xb0, 0x18, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x90, 0x01, 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, 0x42, 0x5e, 0xc2, 0x48, 0x5b, 0x0a, 0x59, 0x0a, 0x0f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x46, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0xaf, 0x01, 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, 0x42, 0x80, 0x01, 0xc2, 0x48, 0x7d, 0x0a, 0x7b, 0x0a, 0x0c, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0xc5, 0x07, 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, 0x42, 0x97, 0x07, 0xc2, 0x48, 0x93, 0x07, 0x0a, 0x7d, 0x0a, 0x0b, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, - 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, + 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, + 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xc1, + 0x01, 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, 0x42, 0x90, 0x01, 0xc2, 0x48, 0x8c, 0x01, 0x0a, + 0x89, 0x01, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x6c, 0x74, + 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, + 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb6, 0x01, 0x0a, 0x0e, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, - 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, + 0x74, 0x65, 0x12, 0x73, 0x0a, 0x06, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x5a, 0xc2, 0x48, 0x57, 0x0a, 0x55, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x1a, 0x41, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3e, 0x20, 0x6e, 0x6f, 0x77, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6e, 0x6f, 0x77, 0x27, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x00, + 0x52, 0x05, 0x6c, 0x74, 0x4e, 0x6f, 0x77, 0x12, 0xcb, 0x07, 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, + 0x42, 0x9c, 0x07, 0xc2, 0x48, 0x98, 0x07, 0x0a, 0x7e, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x3f, 0x20, + 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb7, 0x01, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x1a, 0xa3, 0x01, 0x68, 0x61, + 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, + 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, + 0x27, 0x0a, 0xbf, 0x01, 0x0a, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, + 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, + 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, + 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, + 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x0a, 0xbe, 0x01, 0x0a, 0x18, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, - 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, - 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc6, 0x01, 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, + 0x20, 0x27, 0x27, 0x0a, 0xc7, 0x01, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, - 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xce, 0x01, - 0x0a, 0x19, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, - 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, - 0x52, 0x02, 0x67, 0x74, 0x12, 0x92, 0x08, 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, 0x42, 0xe2, 0x07, - 0xc2, 0x48, 0xde, 0x07, 0x0a, 0x8b, 0x01, 0x0a, 0x0c, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, - 0x27, 0x27, 0x0a, 0xc5, 0x01, 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, - 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, - 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcd, 0x01, 0x0a, 0x19, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, - 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd5, 0x01, 0x0a, 0x10, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, - 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, - 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, - 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, - 0x27, 0x27, 0x0a, 0xdd, 0x01, 0x0a, 0x1a, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, - 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, - 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, - 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, - 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x97, 0x01, 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, 0x42, 0x6c, 0xc2, 0x48, 0x69, 0x0a, 0x67, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x69, 0x6e, 0x1a, 0x58, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, - 0x5d, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x64, 0x79, 0x6e, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x29, 0x5b, 0x27, 0x69, 0x6e, 0x27, 0x5d, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, - 0x02, 0x69, 0x6e, 0x12, 0x9b, 0x01, 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, 0x42, - 0x69, 0xc2, 0x48, 0x66, 0x0a, 0x64, 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0x51, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, - 0x5f, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, - 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, - 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0xca, 0x17, 0x0a, 0x0e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x95, 0x01, 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, 0x42, 0x5e, 0xc2, 0x48, 0x5b, 0x0a, 0x59, 0x0a, 0x0f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, - 0x46, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x88, 0x01, 0x01, 0x12, 0xaf, 0x01, 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, 0x42, 0x80, 0x01, 0xc2, - 0x48, 0x7d, 0x0a, 0x7b, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, - 0x6c, 0x74, 0x1a, 0x6b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, - 0x00, 0x52, 0x02, 0x6c, 0x74, 0x12, 0xc1, 0x01, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x04, 0x20, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, + 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xcf, 0x01, + 0x0a, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x5f, 0x6c, + 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb0, 0x01, 0x68, + 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, + 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, + 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0x98, 0x08, 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, 0x42, - 0x90, 0x01, 0xc2, 0x48, 0x8c, 0x01, 0x0a, 0x89, 0x01, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x6c, 0x74, 0x65, 0x1a, 0x78, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, - 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x3f, - 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, - 0x27, 0x27, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x6c, 0x74, 0x5f, - 0x6e, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x48, 0xc2, 0x48, 0x45, 0x0a, 0x43, - 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x6c, 0x74, 0x5f, 0x6e, - 0x6f, 0x77, 0x1a, 0x2f, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x6e, 0x6f, 0x77, 0x20, 0x3f, + 0xe7, 0x07, 0xc2, 0x48, 0xe3, 0x07, 0x0a, 0x8c, 0x01, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x21, 0x68, 0x61, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6e, 0x6f, 0x77, 0x27, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x74, 0x4e, 0x6f, 0x77, 0x12, 0xcb, 0x07, 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, 0x42, 0x9c, 0x07, 0xc2, 0x48, 0x98, 0x07, 0x0a, 0x7e, 0x0a, 0x0c, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x1a, 0x6e, 0x21, 0x68, - 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, - 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xb7, 0x01, 0x0a, - 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, - 0x1a, 0xa3, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, - 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xbf, 0x01, 0x0a, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x1a, 0xa1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc7, 0x01, 0x0a, 0x10, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xb2, 0x01, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, - 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, - 0x27, 0x27, 0x0a, 0xcf, 0x01, 0x0a, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x1a, 0xb0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, - 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, - 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0x98, 0x08, 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, 0x42, 0xe7, 0x07, 0xc2, 0x48, 0xe3, 0x07, 0x0a, 0x8c, 0x01, 0x0a, 0x0d, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x65, 0x1a, 0x7b, 0x21, + 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x29, + 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc6, 0x01, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, 0xb1, 0x01, 0x68, 0x61, 0x73, + 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x3d, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, + 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xce, + 0x01, 0x0a, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x65, + 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, 0x26, 0x26, - 0x20, 0x21, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, - 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x67, 0x74, 0x65, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xc6, 0x01, 0x0a, 0x10, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x1a, - 0xb1, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x29, 0x20, - 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3e, 0x3d, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x7c, 0x7c, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, - 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, - 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, - 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, - 0x20, 0x27, 0x27, 0x0a, 0xce, 0x01, 0x0a, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x1a, 0xaf, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, - 0x74, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, - 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, - 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xd6, 0x01, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xde, 0x01, - 0x0a, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x65, 0x5f, - 0x6c, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, - 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, - 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, - 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, - 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, - 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, - 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x64, 0x0a, 0x06, 0x67, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x4b, 0xc2, 0x48, 0x48, 0x0a, 0x46, 0x0a, 0x10, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x1a, 0x32, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x6e, 0x6f, 0x77, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6e, 0x6f, 0x77, 0x27, 0x20, 0x3a, 0x20, - 0x27, 0x27, 0x48, 0x01, 0x52, 0x05, 0x67, 0x74, 0x4e, 0x6f, 0x77, 0x12, 0xc5, 0x01, 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, 0x42, 0x8c, 0x01, 0xc2, 0x48, 0x88, 0x01, 0x0a, 0x85, - 0x01, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x77, 0x69, 0x74, - 0x68, 0x69, 0x6e, 0x1a, 0x71, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x6e, 0x6f, 0x77, 0x2d, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x7c, 0x7c, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x6e, 0x6f, 0x77, 0x2b, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, - 0x25, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x6e, 0x6f, 0x77, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5d, - 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x03, 0x52, 0x06, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, - 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, - 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x77, - 0x69, 0x74, 0x68, 0x69, 0x6e, 0x2a, 0x9d, 0x01, 0x0a, 0x06, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, + 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, + 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, + 0xd6, 0x01, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, + 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x1a, 0xc0, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x6c, 0x74, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, + 0x20, 0x26, 0x26, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, + 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, + 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x0a, 0xde, 0x01, 0x0a, 0x1b, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xbe, 0x01, 0x68, 0x61, 0x73, 0x28, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x29, 0x20, 0x26, 0x26, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, + 0x74, 0x65, 0x20, 0x26, 0x26, 0x20, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, 0x74, 0x65, + 0x20, 0x3c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x3c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x29, 0x3f, 0x20, 0x27, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, + 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x25, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x67, 0x74, 0x65, 0x2c, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x6c, + 0x74, 0x65, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, + 0x12, 0x76, 0x0a, 0x06, 0x67, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x5d, 0xc2, 0x48, 0x5a, 0x0a, 0x58, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x1a, 0x44, 0x28, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x67, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x20, 0x26, 0x26, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x3c, 0x20, 0x6e, 0x6f, 0x77, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6e, 0x6f, 0x77, 0x27, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x48, + 0x01, 0x52, 0x05, 0x67, 0x74, 0x4e, 0x6f, 0x77, 0x12, 0xc0, 0x01, 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, 0x42, 0x8c, 0x01, 0xc2, 0x48, 0x88, 0x01, 0x0a, 0x85, 0x01, 0x0a, 0x10, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, + 0x1a, 0x71, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x6e, 0x6f, 0x77, 0x2d, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x3e, 0x20, 0x6e, 0x6f, 0x77, 0x2b, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x77, 0x69, + 0x74, 0x68, 0x69, 0x6e, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x25, 0x73, 0x20, + 0x6f, 0x66, 0x20, 0x6e, 0x6f, 0x77, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5d, 0x29, 0x20, 0x3a, + 0x20, 0x27, 0x27, 0x52, 0x06, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x12, 0x54, 0x0a, 0x07, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x03, 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, 0x42, 0x1e, 0xc2, 0x48, 0x1b, 0x0a, 0x19, 0x0a, + 0x11, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x1a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42, 0x0b, 0x0a, 0x09, + 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x67, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x22, 0x45, 0x0a, 0x0a, 0x56, 0x69, 0x6f, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x75, + 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x22, 0x82, 0x01, 0x0a, 0x09, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, + 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, + 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, + 0x66, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, + 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x2a, 0x9d, 0x01, 0x0a, 0x06, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x49, 0x46, 0x5f, 0x55, 0x4e, 0x50, 0x4f, 0x50, 0x55, 0x4c, 0x41, 0x54, 0x45, @@ -9390,36 +10242,41 @@ var file_buf_validate_validate_proto_rawDesc = []byte{ 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x45, 0x58, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x56, 0x41, - 0x4c, 0x55, 0x45, 0x10, 0x02, 0x3a, 0x5f, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x4c, 0x55, 0x45, 0x10, 0x02, 0x3a, 0x5c, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 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, 0x87, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x3a, 0x57, 0x0a, 0x05, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 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, 0x87, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, - 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x05, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x88, 0x01, 0x01, 0x3a, - 0x57, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 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, 0x87, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x05, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x42, 0xb5, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, - 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x0d, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0xa2, 0x02, 0x03, 0x42, 0x56, 0x58, 0xaa, 0x02, 0x0c, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0xca, 0x02, 0x0c, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0xe2, 0x02, 0x18, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x0d, 0x42, 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x67, 0x65, 0x3a, 0x54, 0x0a, 0x05, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 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, 0x87, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x74, 0x73, 0x52, 0x05, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x3a, 0x54, 0x0a, 0x05, 0x66, 0x69, 0x65, + 0x6c, 0x64, 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, 0x87, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x3a, + 0x63, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 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, 0x88, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x42, 0xb5, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x66, + 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0xa2, 0x02, 0x03, + 0x42, 0x56, 0x58, 0xaa, 0x02, 0x0c, 0x42, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0xca, 0x02, 0x0c, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0xe2, 0x02, 0x18, 0x42, 0x75, 0x66, 0x5c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0d, 0x42, + 0x75, 0x66, 0x3a, 0x3a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, } var ( @@ -9435,94 +10292,103 @@ func file_buf_validate_validate_proto_rawDescGZIP() []byte { } var file_buf_validate_validate_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_buf_validate_validate_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_buf_validate_validate_proto_msgTypes = make([]protoimpl.MessageInfo, 28) var file_buf_validate_validate_proto_goTypes = []any{ (Ignore)(0), // 0: buf.validate.Ignore (KnownRegex)(0), // 1: buf.validate.KnownRegex - (*MessageConstraints)(nil), // 2: buf.validate.MessageConstraints - (*OneofConstraints)(nil), // 3: buf.validate.OneofConstraints - (*FieldConstraints)(nil), // 4: buf.validate.FieldConstraints - (*FloatRules)(nil), // 5: buf.validate.FloatRules - (*DoubleRules)(nil), // 6: buf.validate.DoubleRules - (*Int32Rules)(nil), // 7: buf.validate.Int32Rules - (*Int64Rules)(nil), // 8: buf.validate.Int64Rules - (*UInt32Rules)(nil), // 9: buf.validate.UInt32Rules - (*UInt64Rules)(nil), // 10: buf.validate.UInt64Rules - (*SInt32Rules)(nil), // 11: buf.validate.SInt32Rules - (*SInt64Rules)(nil), // 12: buf.validate.SInt64Rules - (*Fixed32Rules)(nil), // 13: buf.validate.Fixed32Rules - (*Fixed64Rules)(nil), // 14: buf.validate.Fixed64Rules - (*SFixed32Rules)(nil), // 15: buf.validate.SFixed32Rules - (*SFixed64Rules)(nil), // 16: buf.validate.SFixed64Rules - (*BoolRules)(nil), // 17: buf.validate.BoolRules - (*StringRules)(nil), // 18: buf.validate.StringRules - (*BytesRules)(nil), // 19: buf.validate.BytesRules - (*EnumRules)(nil), // 20: buf.validate.EnumRules - (*RepeatedRules)(nil), // 21: buf.validate.RepeatedRules - (*MapRules)(nil), // 22: buf.validate.MapRules - (*AnyRules)(nil), // 23: buf.validate.AnyRules - (*DurationRules)(nil), // 24: buf.validate.DurationRules - (*TimestampRules)(nil), // 25: buf.validate.TimestampRules - (*Constraint)(nil), // 26: buf.validate.Constraint - (*durationpb.Duration)(nil), // 27: google.protobuf.Duration - (*timestamppb.Timestamp)(nil), // 28: google.protobuf.Timestamp - (*descriptorpb.MessageOptions)(nil), // 29: google.protobuf.MessageOptions - (*descriptorpb.OneofOptions)(nil), // 30: google.protobuf.OneofOptions - (*descriptorpb.FieldOptions)(nil), // 31: google.protobuf.FieldOptions + (*Constraint)(nil), // 2: buf.validate.Constraint + (*MessageConstraints)(nil), // 3: buf.validate.MessageConstraints + (*OneofConstraints)(nil), // 4: buf.validate.OneofConstraints + (*FieldConstraints)(nil), // 5: buf.validate.FieldConstraints + (*PredefinedConstraints)(nil), // 6: buf.validate.PredefinedConstraints + (*FloatRules)(nil), // 7: buf.validate.FloatRules + (*DoubleRules)(nil), // 8: buf.validate.DoubleRules + (*Int32Rules)(nil), // 9: buf.validate.Int32Rules + (*Int64Rules)(nil), // 10: buf.validate.Int64Rules + (*UInt32Rules)(nil), // 11: buf.validate.UInt32Rules + (*UInt64Rules)(nil), // 12: buf.validate.UInt64Rules + (*SInt32Rules)(nil), // 13: buf.validate.SInt32Rules + (*SInt64Rules)(nil), // 14: buf.validate.SInt64Rules + (*Fixed32Rules)(nil), // 15: buf.validate.Fixed32Rules + (*Fixed64Rules)(nil), // 16: buf.validate.Fixed64Rules + (*SFixed32Rules)(nil), // 17: buf.validate.SFixed32Rules + (*SFixed64Rules)(nil), // 18: buf.validate.SFixed64Rules + (*BoolRules)(nil), // 19: buf.validate.BoolRules + (*StringRules)(nil), // 20: buf.validate.StringRules + (*BytesRules)(nil), // 21: buf.validate.BytesRules + (*EnumRules)(nil), // 22: buf.validate.EnumRules + (*RepeatedRules)(nil), // 23: buf.validate.RepeatedRules + (*MapRules)(nil), // 24: buf.validate.MapRules + (*AnyRules)(nil), // 25: buf.validate.AnyRules + (*DurationRules)(nil), // 26: buf.validate.DurationRules + (*TimestampRules)(nil), // 27: buf.validate.TimestampRules + (*Violations)(nil), // 28: buf.validate.Violations + (*Violation)(nil), // 29: buf.validate.Violation + (*durationpb.Duration)(nil), // 30: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 31: google.protobuf.Timestamp + (*descriptorpb.MessageOptions)(nil), // 32: google.protobuf.MessageOptions + (*descriptorpb.OneofOptions)(nil), // 33: google.protobuf.OneofOptions + (*descriptorpb.FieldOptions)(nil), // 34: google.protobuf.FieldOptions } var file_buf_validate_validate_proto_depIdxs = []int32{ - 26, // 0: buf.validate.MessageConstraints.cel:type_name -> buf.validate.Constraint - 26, // 1: buf.validate.FieldConstraints.cel:type_name -> buf.validate.Constraint + 2, // 0: buf.validate.MessageConstraints.cel:type_name -> buf.validate.Constraint + 2, // 1: buf.validate.FieldConstraints.cel:type_name -> buf.validate.Constraint 0, // 2: buf.validate.FieldConstraints.ignore:type_name -> buf.validate.Ignore - 5, // 3: buf.validate.FieldConstraints.float:type_name -> buf.validate.FloatRules - 6, // 4: buf.validate.FieldConstraints.double:type_name -> buf.validate.DoubleRules - 7, // 5: buf.validate.FieldConstraints.int32:type_name -> buf.validate.Int32Rules - 8, // 6: buf.validate.FieldConstraints.int64:type_name -> buf.validate.Int64Rules - 9, // 7: buf.validate.FieldConstraints.uint32:type_name -> buf.validate.UInt32Rules - 10, // 8: buf.validate.FieldConstraints.uint64:type_name -> buf.validate.UInt64Rules - 11, // 9: buf.validate.FieldConstraints.sint32:type_name -> buf.validate.SInt32Rules - 12, // 10: buf.validate.FieldConstraints.sint64:type_name -> buf.validate.SInt64Rules - 13, // 11: buf.validate.FieldConstraints.fixed32:type_name -> buf.validate.Fixed32Rules - 14, // 12: buf.validate.FieldConstraints.fixed64:type_name -> buf.validate.Fixed64Rules - 15, // 13: buf.validate.FieldConstraints.sfixed32:type_name -> buf.validate.SFixed32Rules - 16, // 14: buf.validate.FieldConstraints.sfixed64:type_name -> buf.validate.SFixed64Rules - 17, // 15: buf.validate.FieldConstraints.bool:type_name -> buf.validate.BoolRules - 18, // 16: buf.validate.FieldConstraints.string:type_name -> buf.validate.StringRules - 19, // 17: buf.validate.FieldConstraints.bytes:type_name -> buf.validate.BytesRules - 20, // 18: buf.validate.FieldConstraints.enum:type_name -> buf.validate.EnumRules - 21, // 19: buf.validate.FieldConstraints.repeated:type_name -> buf.validate.RepeatedRules - 22, // 20: buf.validate.FieldConstraints.map:type_name -> buf.validate.MapRules - 23, // 21: buf.validate.FieldConstraints.any:type_name -> buf.validate.AnyRules - 24, // 22: buf.validate.FieldConstraints.duration:type_name -> buf.validate.DurationRules - 25, // 23: buf.validate.FieldConstraints.timestamp:type_name -> buf.validate.TimestampRules - 1, // 24: buf.validate.StringRules.well_known_regex:type_name -> buf.validate.KnownRegex - 4, // 25: buf.validate.RepeatedRules.items:type_name -> buf.validate.FieldConstraints - 4, // 26: buf.validate.MapRules.keys:type_name -> buf.validate.FieldConstraints - 4, // 27: buf.validate.MapRules.values:type_name -> buf.validate.FieldConstraints - 27, // 28: buf.validate.DurationRules.const:type_name -> google.protobuf.Duration - 27, // 29: buf.validate.DurationRules.lt:type_name -> google.protobuf.Duration - 27, // 30: buf.validate.DurationRules.lte:type_name -> google.protobuf.Duration - 27, // 31: buf.validate.DurationRules.gt:type_name -> google.protobuf.Duration - 27, // 32: buf.validate.DurationRules.gte:type_name -> google.protobuf.Duration - 27, // 33: buf.validate.DurationRules.in:type_name -> google.protobuf.Duration - 27, // 34: buf.validate.DurationRules.not_in:type_name -> google.protobuf.Duration - 28, // 35: buf.validate.TimestampRules.const:type_name -> google.protobuf.Timestamp - 28, // 36: buf.validate.TimestampRules.lt:type_name -> google.protobuf.Timestamp - 28, // 37: buf.validate.TimestampRules.lte:type_name -> google.protobuf.Timestamp - 28, // 38: buf.validate.TimestampRules.gt:type_name -> google.protobuf.Timestamp - 28, // 39: buf.validate.TimestampRules.gte:type_name -> google.protobuf.Timestamp - 27, // 40: buf.validate.TimestampRules.within:type_name -> google.protobuf.Duration - 29, // 41: buf.validate.message:extendee -> google.protobuf.MessageOptions - 30, // 42: buf.validate.oneof:extendee -> google.protobuf.OneofOptions - 31, // 43: buf.validate.field:extendee -> google.protobuf.FieldOptions - 2, // 44: buf.validate.message:type_name -> buf.validate.MessageConstraints - 3, // 45: buf.validate.oneof:type_name -> buf.validate.OneofConstraints - 4, // 46: buf.validate.field:type_name -> buf.validate.FieldConstraints - 47, // [47:47] is the sub-list for method output_type - 47, // [47:47] is the sub-list for method input_type - 44, // [44:47] is the sub-list for extension type_name - 41, // [41:44] is the sub-list for extension extendee - 0, // [0:41] is the sub-list for field type_name + 7, // 3: buf.validate.FieldConstraints.float:type_name -> buf.validate.FloatRules + 8, // 4: buf.validate.FieldConstraints.double:type_name -> buf.validate.DoubleRules + 9, // 5: buf.validate.FieldConstraints.int32:type_name -> buf.validate.Int32Rules + 10, // 6: buf.validate.FieldConstraints.int64:type_name -> buf.validate.Int64Rules + 11, // 7: buf.validate.FieldConstraints.uint32:type_name -> buf.validate.UInt32Rules + 12, // 8: buf.validate.FieldConstraints.uint64:type_name -> buf.validate.UInt64Rules + 13, // 9: buf.validate.FieldConstraints.sint32:type_name -> buf.validate.SInt32Rules + 14, // 10: buf.validate.FieldConstraints.sint64:type_name -> buf.validate.SInt64Rules + 15, // 11: buf.validate.FieldConstraints.fixed32:type_name -> buf.validate.Fixed32Rules + 16, // 12: buf.validate.FieldConstraints.fixed64:type_name -> buf.validate.Fixed64Rules + 17, // 13: buf.validate.FieldConstraints.sfixed32:type_name -> buf.validate.SFixed32Rules + 18, // 14: buf.validate.FieldConstraints.sfixed64:type_name -> buf.validate.SFixed64Rules + 19, // 15: buf.validate.FieldConstraints.bool:type_name -> buf.validate.BoolRules + 20, // 16: buf.validate.FieldConstraints.string:type_name -> buf.validate.StringRules + 21, // 17: buf.validate.FieldConstraints.bytes:type_name -> buf.validate.BytesRules + 22, // 18: buf.validate.FieldConstraints.enum:type_name -> buf.validate.EnumRules + 23, // 19: buf.validate.FieldConstraints.repeated:type_name -> buf.validate.RepeatedRules + 24, // 20: buf.validate.FieldConstraints.map:type_name -> buf.validate.MapRules + 25, // 21: buf.validate.FieldConstraints.any:type_name -> buf.validate.AnyRules + 26, // 22: buf.validate.FieldConstraints.duration:type_name -> buf.validate.DurationRules + 27, // 23: buf.validate.FieldConstraints.timestamp:type_name -> buf.validate.TimestampRules + 2, // 24: buf.validate.PredefinedConstraints.cel:type_name -> buf.validate.Constraint + 1, // 25: buf.validate.StringRules.well_known_regex:type_name -> buf.validate.KnownRegex + 5, // 26: buf.validate.RepeatedRules.items:type_name -> buf.validate.FieldConstraints + 5, // 27: buf.validate.MapRules.keys:type_name -> buf.validate.FieldConstraints + 5, // 28: buf.validate.MapRules.values:type_name -> buf.validate.FieldConstraints + 30, // 29: buf.validate.DurationRules.const:type_name -> google.protobuf.Duration + 30, // 30: buf.validate.DurationRules.lt:type_name -> google.protobuf.Duration + 30, // 31: buf.validate.DurationRules.lte:type_name -> google.protobuf.Duration + 30, // 32: buf.validate.DurationRules.gt:type_name -> google.protobuf.Duration + 30, // 33: buf.validate.DurationRules.gte:type_name -> google.protobuf.Duration + 30, // 34: buf.validate.DurationRules.in:type_name -> google.protobuf.Duration + 30, // 35: buf.validate.DurationRules.not_in:type_name -> google.protobuf.Duration + 30, // 36: buf.validate.DurationRules.example:type_name -> google.protobuf.Duration + 31, // 37: buf.validate.TimestampRules.const:type_name -> google.protobuf.Timestamp + 31, // 38: buf.validate.TimestampRules.lt:type_name -> google.protobuf.Timestamp + 31, // 39: buf.validate.TimestampRules.lte:type_name -> google.protobuf.Timestamp + 31, // 40: buf.validate.TimestampRules.gt:type_name -> google.protobuf.Timestamp + 31, // 41: buf.validate.TimestampRules.gte:type_name -> google.protobuf.Timestamp + 30, // 42: buf.validate.TimestampRules.within:type_name -> google.protobuf.Duration + 31, // 43: buf.validate.TimestampRules.example:type_name -> google.protobuf.Timestamp + 29, // 44: buf.validate.Violations.violations:type_name -> buf.validate.Violation + 32, // 45: buf.validate.message:extendee -> google.protobuf.MessageOptions + 33, // 46: buf.validate.oneof:extendee -> google.protobuf.OneofOptions + 34, // 47: buf.validate.field:extendee -> google.protobuf.FieldOptions + 34, // 48: buf.validate.predefined:extendee -> google.protobuf.FieldOptions + 3, // 49: buf.validate.message:type_name -> buf.validate.MessageConstraints + 4, // 50: buf.validate.oneof:type_name -> buf.validate.OneofConstraints + 5, // 51: buf.validate.field:type_name -> buf.validate.FieldConstraints + 6, // 52: buf.validate.predefined:type_name -> buf.validate.PredefinedConstraints + 53, // [53:53] is the sub-list for method output_type + 53, // [53:53] is the sub-list for method input_type + 49, // [49:53] is the sub-list for extension type_name + 45, // [45:49] is the sub-list for extension extendee + 0, // [0:45] is the sub-list for field type_name } func init() { file_buf_validate_validate_proto_init() } @@ -9530,10 +10396,9 @@ func file_buf_validate_validate_proto_init() { if File_buf_validate_validate_proto != nil { return } - file_buf_validate_expression_proto_init() if !protoimpl.UnsafeEnabled { file_buf_validate_validate_proto_msgTypes[0].Exporter = func(v any, i int) any { - switch v := v.(*MessageConstraints); i { + switch v := v.(*Constraint); i { case 0: return &v.state case 1: @@ -9545,7 +10410,7 @@ func file_buf_validate_validate_proto_init() { } } file_buf_validate_validate_proto_msgTypes[1].Exporter = func(v any, i int) any { - switch v := v.(*OneofConstraints); i { + switch v := v.(*MessageConstraints); i { case 0: return &v.state case 1: @@ -9557,7 +10422,7 @@ func file_buf_validate_validate_proto_init() { } } file_buf_validate_validate_proto_msgTypes[2].Exporter = func(v any, i int) any { - switch v := v.(*FieldConstraints); i { + switch v := v.(*OneofConstraints); i { case 0: return &v.state case 1: @@ -9569,7 +10434,7 @@ func file_buf_validate_validate_proto_init() { } } file_buf_validate_validate_proto_msgTypes[3].Exporter = func(v any, i int) any { - switch v := v.(*FloatRules); i { + switch v := v.(*FieldConstraints); i { case 0: return &v.state case 1: @@ -9581,7 +10446,7 @@ func file_buf_validate_validate_proto_init() { } } file_buf_validate_validate_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*DoubleRules); i { + switch v := v.(*PredefinedConstraints); i { case 0: return &v.state case 1: @@ -9593,223 +10458,311 @@ func file_buf_validate_validate_proto_init() { } } file_buf_validate_validate_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*Int32Rules); i { + switch v := v.(*FloatRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*Int64Rules); i { + switch v := v.(*DoubleRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*UInt32Rules); i { + switch v := v.(*Int32Rules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*UInt64Rules); i { + switch v := v.(*Int64Rules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*SInt32Rules); i { + switch v := v.(*UInt32Rules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*SInt64Rules); i { + switch v := v.(*UInt64Rules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[11].Exporter = func(v any, i int) any { - switch v := v.(*Fixed32Rules); i { + switch v := v.(*SInt32Rules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[12].Exporter = func(v any, i int) any { - switch v := v.(*Fixed64Rules); i { + switch v := v.(*SInt64Rules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[13].Exporter = func(v any, i int) any { - switch v := v.(*SFixed32Rules); i { + switch v := v.(*Fixed32Rules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[14].Exporter = func(v any, i int) any { - switch v := v.(*SFixed64Rules); i { + switch v := v.(*Fixed64Rules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[15].Exporter = func(v any, i int) any { - switch v := v.(*BoolRules); i { + switch v := v.(*SFixed32Rules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[16].Exporter = func(v any, i int) any { - switch v := v.(*StringRules); i { + switch v := v.(*SFixed64Rules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[17].Exporter = func(v any, i int) any { - switch v := v.(*BytesRules); i { + switch v := v.(*BoolRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[18].Exporter = func(v any, i int) any { - switch v := v.(*EnumRules); i { + switch v := v.(*StringRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[19].Exporter = func(v any, i int) any { - switch v := v.(*RepeatedRules); i { + switch v := v.(*BytesRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[20].Exporter = func(v any, i int) any { - switch v := v.(*MapRules); i { + switch v := v.(*EnumRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[21].Exporter = func(v any, i int) any { - switch v := v.(*AnyRules); i { + switch v := v.(*RepeatedRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[22].Exporter = func(v any, i int) any { - switch v := v.(*DurationRules); i { + switch v := v.(*MapRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields + case 3: + return &v.extensionFields default: return nil } } file_buf_validate_validate_proto_msgTypes[23].Exporter = func(v any, i int) any { + switch v := v.(*AnyRules); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_validate_proto_msgTypes[24].Exporter = func(v any, i int) any { + switch v := v.(*DurationRules); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_buf_validate_validate_proto_msgTypes[25].Exporter = func(v any, i int) any { switch v := v.(*TimestampRules); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_buf_validate_validate_proto_msgTypes[26].Exporter = func(v any, i int) any { + switch v := v.(*Violations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_buf_validate_validate_proto_msgTypes[27].Exporter = func(v any, i int) any { + switch v := v.(*Violation); i { case 0: return &v.state case 1: @@ -9821,9 +10774,7 @@ func file_buf_validate_validate_proto_init() { } } } - file_buf_validate_validate_proto_msgTypes[0].OneofWrappers = []any{} - file_buf_validate_validate_proto_msgTypes[1].OneofWrappers = []any{} - file_buf_validate_validate_proto_msgTypes[2].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[3].OneofWrappers = []any{ (*FieldConstraints_Float)(nil), (*FieldConstraints_Double)(nil), (*FieldConstraints_Int32)(nil), @@ -9846,80 +10797,79 @@ func file_buf_validate_validate_proto_init() { (*FieldConstraints_Duration)(nil), (*FieldConstraints_Timestamp)(nil), } - file_buf_validate_validate_proto_msgTypes[3].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[5].OneofWrappers = []any{ (*FloatRules_Lt)(nil), (*FloatRules_Lte)(nil), (*FloatRules_Gt)(nil), (*FloatRules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[4].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[6].OneofWrappers = []any{ (*DoubleRules_Lt)(nil), (*DoubleRules_Lte)(nil), (*DoubleRules_Gt)(nil), (*DoubleRules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[5].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[7].OneofWrappers = []any{ (*Int32Rules_Lt)(nil), (*Int32Rules_Lte)(nil), (*Int32Rules_Gt)(nil), (*Int32Rules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[6].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[8].OneofWrappers = []any{ (*Int64Rules_Lt)(nil), (*Int64Rules_Lte)(nil), (*Int64Rules_Gt)(nil), (*Int64Rules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[7].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[9].OneofWrappers = []any{ (*UInt32Rules_Lt)(nil), (*UInt32Rules_Lte)(nil), (*UInt32Rules_Gt)(nil), (*UInt32Rules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[8].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[10].OneofWrappers = []any{ (*UInt64Rules_Lt)(nil), (*UInt64Rules_Lte)(nil), (*UInt64Rules_Gt)(nil), (*UInt64Rules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[9].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[11].OneofWrappers = []any{ (*SInt32Rules_Lt)(nil), (*SInt32Rules_Lte)(nil), (*SInt32Rules_Gt)(nil), (*SInt32Rules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[10].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[12].OneofWrappers = []any{ (*SInt64Rules_Lt)(nil), (*SInt64Rules_Lte)(nil), (*SInt64Rules_Gt)(nil), (*SInt64Rules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[11].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[13].OneofWrappers = []any{ (*Fixed32Rules_Lt)(nil), (*Fixed32Rules_Lte)(nil), (*Fixed32Rules_Gt)(nil), (*Fixed32Rules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[12].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[14].OneofWrappers = []any{ (*Fixed64Rules_Lt)(nil), (*Fixed64Rules_Lte)(nil), (*Fixed64Rules_Gt)(nil), (*Fixed64Rules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[13].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[15].OneofWrappers = []any{ (*SFixed32Rules_Lt)(nil), (*SFixed32Rules_Lte)(nil), (*SFixed32Rules_Gt)(nil), (*SFixed32Rules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[14].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[16].OneofWrappers = []any{ (*SFixed64Rules_Lt)(nil), (*SFixed64Rules_Lte)(nil), (*SFixed64Rules_Gt)(nil), (*SFixed64Rules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[15].OneofWrappers = []any{} - file_buf_validate_validate_proto_msgTypes[16].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[18].OneofWrappers = []any{ (*StringRules_Email)(nil), (*StringRules_Hostname)(nil), (*StringRules_Ip)(nil), @@ -9939,21 +10889,18 @@ func file_buf_validate_validate_proto_init() { (*StringRules_HostAndPort)(nil), (*StringRules_WellKnownRegex)(nil), } - file_buf_validate_validate_proto_msgTypes[17].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[19].OneofWrappers = []any{ (*BytesRules_Ip)(nil), (*BytesRules_Ipv4)(nil), (*BytesRules_Ipv6)(nil), } - file_buf_validate_validate_proto_msgTypes[18].OneofWrappers = []any{} - file_buf_validate_validate_proto_msgTypes[19].OneofWrappers = []any{} - file_buf_validate_validate_proto_msgTypes[20].OneofWrappers = []any{} - file_buf_validate_validate_proto_msgTypes[22].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[24].OneofWrappers = []any{ (*DurationRules_Lt)(nil), (*DurationRules_Lte)(nil), (*DurationRules_Gt)(nil), (*DurationRules_Gte)(nil), } - file_buf_validate_validate_proto_msgTypes[23].OneofWrappers = []any{ + file_buf_validate_validate_proto_msgTypes[25].OneofWrappers = []any{ (*TimestampRules_Lt)(nil), (*TimestampRules_Lte)(nil), (*TimestampRules_LtNow)(nil), @@ -9967,8 +10914,8 @@ func file_buf_validate_validate_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_buf_validate_validate_proto_rawDesc, NumEnums: 2, - NumMessages: 24, - NumExtensions: 3, + NumMessages: 28, + NumExtensions: 4, NumServices: 0, }, GoTypes: file_buf_validate_validate_proto_goTypes, diff --git a/tools/protovalidate-conformance/internal/cases/cases.go b/tools/protovalidate-conformance/internal/cases/cases.go index f0725026..f089c203 100644 --- a/tools/protovalidate-conformance/internal/cases/cases.go +++ b/tools/protovalidate-conformance/internal/cases/cases.go @@ -24,6 +24,7 @@ import ( func GlobalSuites() suites.Suites { return suites.Suites{ "custom_constraints": customSuite(), + "predefined_constraints": predefinedSuite(), "kitchen_sink": kitchenSinkSuite(), "standard_constraints/bool": boolSuite(), "standard_constraints/bytes": bytesSuite(), diff --git a/tools/protovalidate-conformance/internal/cases/cases_predefined.go b/tools/protovalidate-conformance/internal/cases/cases_predefined.go new file mode 100644 index 00000000..31131fe7 --- /dev/null +++ b/tools/protovalidate-conformance/internal/cases/cases_predefined.go @@ -0,0 +1,1116 @@ +// Copyright 2023 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package cases + +import ( + "time" + + "github.com/bufbuild/protovalidate/tools/internal/gen/buf/validate" + "github.com/bufbuild/protovalidate/tools/internal/gen/buf/validate/conformance/cases" + "github.com/bufbuild/protovalidate/tools/protovalidate-conformance/internal/results" + "github.com/bufbuild/protovalidate/tools/protovalidate-conformance/internal/suites" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/durationpb" + "google.golang.org/protobuf/types/known/timestamppb" +) + +func predefinedSuite() suites.Suite { + return suites.Suite{ + "proto2/float/valid": { + Message: &cases.PredefinedFloatRuleProto2{Val: proto.Float32(1.0)}, + Expected: results.Success(true), + }, + "proto2/float/invalid": { + Message: &cases.PredefinedFloatRuleProto2{Val: proto.Float32(-2.0)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("float.abs_range.proto2"), + Message: proto.String("float value is out of range"), + }, + ), + }, + "proto2/double/valid": { + Message: &cases.PredefinedDoubleRuleProto2{Val: proto.Float64(1.0)}, + Expected: results.Success(true), + }, + "proto2/double/invalid": { + Message: &cases.PredefinedDoubleRuleProto2{Val: proto.Float64(-2.0)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("double.abs_range.proto2"), + Message: proto.String("double value is out of range"), + }, + ), + }, + "proto2/int32/valid": { + Message: &cases.PredefinedInt32RuleProto2{Val: proto.Int32(2)}, + Expected: results.Success(true), + }, + "proto2/int32/invalid": { + Message: &cases.PredefinedInt32RuleProto2{Val: proto.Int32(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("int32.even.proto2"), + Message: proto.String("int32 value is not even"), + }, + ), + }, + "proto2/int64/valid": { + Message: &cases.PredefinedInt64RuleProto2{Val: proto.Int64(2)}, + Expected: results.Success(true), + }, + "proto2/int64/invalid": { + Message: &cases.PredefinedInt64RuleProto2{Val: proto.Int64(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("int64.even.proto2"), + Message: proto.String("int64 value is not even"), + }, + ), + }, + "proto2/uint32/valid": { + Message: &cases.PredefinedUInt32RuleProto2{Val: proto.Uint32(2)}, + Expected: results.Success(true), + }, + "proto2/uint32/invalid": { + Message: &cases.PredefinedUInt32RuleProto2{Val: proto.Uint32(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("uint32.even.proto2"), + Message: proto.String("uint32 value is not even"), + }, + ), + }, + "proto2/uint64/valid": { + Message: &cases.PredefinedUInt64RuleProto2{Val: proto.Uint64(2)}, + Expected: results.Success(true), + }, + "proto2/uint64/invalid": { + Message: &cases.PredefinedUInt64RuleProto2{Val: proto.Uint64(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("uint64.even.proto2"), + Message: proto.String("uint64 value is not even"), + }, + ), + }, + "proto2/sint32/valid": { + Message: &cases.PredefinedSInt32RuleProto2{Val: proto.Int32(2)}, + Expected: results.Success(true), + }, + "proto2/sint32/invalid": { + Message: &cases.PredefinedSInt32RuleProto2{Val: proto.Int32(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sint32.even.proto2"), + Message: proto.String("sint32 value is not even"), + }, + ), + }, + "proto2/sint64/valid": { + Message: &cases.PredefinedSInt64RuleProto2{Val: proto.Int64(2)}, + Expected: results.Success(true), + }, + "proto2/sint64/invalid": { + Message: &cases.PredefinedSInt64RuleProto2{Val: proto.Int64(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sint64.even.proto2"), + Message: proto.String("sint64 value is not even"), + }, + ), + }, + "proto2/fixed32/valid": { + Message: &cases.PredefinedFixed32RuleProto2{Val: proto.Uint32(2)}, + Expected: results.Success(true), + }, + "proto2/fixed32/invalid": { + Message: &cases.PredefinedFixed32RuleProto2{Val: proto.Uint32(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("fixed32.even.proto2"), + Message: proto.String("fixed32 value is not even"), + }, + ), + }, + "proto2/fixed64/valid": { + Message: &cases.PredefinedFixed64RuleProto2{Val: proto.Uint64(2)}, + Expected: results.Success(true), + }, + "proto2/fixed64/invalid": { + Message: &cases.PredefinedFixed64RuleProto2{Val: proto.Uint64(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("fixed64.even.proto2"), + Message: proto.String("fixed64 value is not even"), + }, + ), + }, + "proto2/sfixed32/valid": { + Message: &cases.PredefinedSFixed32RuleProto2{Val: proto.Int32(2)}, + Expected: results.Success(true), + }, + "proto2/sfixed32/invalid": { + Message: &cases.PredefinedSFixed32RuleProto2{Val: proto.Int32(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sfixed32.even.proto2"), + Message: proto.String("sfixed32 value is not even"), + }, + ), + }, + "proto2/sfixed64/valid": { + Message: &cases.PredefinedSFixed64RuleProto2{Val: proto.Int64(2)}, + Expected: results.Success(true), + }, + "proto2/sfixed64/invalid": { + Message: &cases.PredefinedSFixed64RuleProto2{Val: proto.Int64(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sfixed64.even.proto2"), + Message: proto.String("sfixed64 value is not even"), + }, + ), + }, + "proto2/bool/valid": { + Message: &cases.PredefinedBoolRuleProto2{Val: proto.Bool(false)}, + Expected: results.Success(true), + }, + "proto2/bool/invalid": { + Message: &cases.PredefinedBoolRuleProto2{Val: proto.Bool(true)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("bool.false.proto2"), + Message: proto.String("bool value is not false"), + }, + ), + }, + "proto2/string/valid": { + Message: &cases.PredefinedStringRuleProto2{Val: proto.String("valid/file.proto")}, + Expected: results.Success(true), + }, + "proto2/string/invalid": { + Message: &cases.PredefinedStringRuleProto2{Val: proto.String("../invalid/path")}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("string.valid_path.proto2"), + Message: proto.String("not a valid path: `../invalid/path`"), + }, + ), + }, + "proto2/bytes/valid": { + Message: &cases.PredefinedBytesRuleProto2{Val: []byte("valid/file.proto")}, + Expected: results.Success(true), + }, + "proto2/bytes/invalid": { + Message: &cases.PredefinedBytesRuleProto2{Val: []byte("../invalid/path")}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("bytes.valid_path.proto2"), + Message: proto.String("not a valid path: `../invalid/path`"), + }, + ), + }, + "proto2/enum/valid": { + Message: &cases.PredefinedEnumRuleProto2{Val: cases.PredefinedEnumRuleProto2_ENUM_PROTO2_ONE.Enum()}, + Expected: results.Success(true), + }, + "proto2/enum/invalid": { + Message: &cases.PredefinedEnumRuleProto2{Val: cases.PredefinedEnumRuleProto2_ENUM_PROTO2_ZERO_UNSPECIFIED.Enum()}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("enum.non_zero.proto2"), + Message: proto.String("enum value is not non-zero"), + }, + ), + }, + "proto2/repeated/valid": { + Message: &cases.PredefinedRepeatedRuleProto2{Val: []uint64{1, 2, 3, 4, 5}}, + Expected: results.Success(true), + }, + "proto2/repeated/invalid": { + Message: &cases.PredefinedRepeatedRuleProto2{Val: []uint64{1, 2, 3}}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("repeated.at_least_five.proto2"), + Message: proto.String("repeated field must have at least five values"), + }, + ), + }, + "proto2/duration/valid": { + Message: &cases.PredefinedDurationRuleProto2{Val: durationpb.New(time.Second)}, + Expected: results.Success(true), + }, + "proto2/duration/invalid": { + Message: &cases.PredefinedDurationRuleProto2{Val: durationpb.New(15 * time.Second)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("duration.too_long.proto2"), + Message: proto.String("duration can't be longer than 10 seconds"), + }, + ), + }, + "proto2/timestamp/valid": { + Message: &cases.PredefinedTimestampRuleProto2{Val: timestamppb.New(time.Unix(1049587200, 0))}, + Expected: results.Success(true), + }, + "proto2/timestamp/invalid": { + Message: &cases.PredefinedTimestampRuleProto2{Val: timestamppb.New(time.Unix(1725415496, 0))}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("timestamp.time_range.proto2"), + Message: proto.String("timestamp out of range"), + }, + ), + }, + "proto2/predefined_and_custom/valid": { + Message: &cases.PredefinedAndCustomRuleProto2{ + A: proto.Int32(26), + B: &cases.PredefinedAndCustomRuleProto2_Nested{ + C: proto.Int32(12), + }, + }, + Expected: results.Success(true), + }, + "proto2/predefined_and_custom/invalid": { + Message: &cases.PredefinedAndCustomRuleProto2{ + A: proto.Int32(-1), + B: &cases.PredefinedAndCustomRuleProto2_Nested{ + C: proto.Int32(-1), + }, + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("int32.even.proto2"), + Message: proto.String("int32 value is not even"), + }, + &validate.Violation{ + FieldPath: proto.String("b.c"), + ConstraintId: proto.String("int32.even.proto2"), + Message: proto.String("int32 value is not even"), + }, + &validate.Violation{ + FieldPath: proto.String("b"), + ConstraintId: proto.String("predefined_and_custom_rule_embedded_proto2"), + Message: proto.String("b.c must be a multiple of 3"), + }, + &validate.Violation{ + FieldPath: proto.String("b.c"), + ConstraintId: proto.String("predefined_and_custom_rule_nested_proto2"), + Message: proto.String("c must be positive"), + }, + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("predefined_and_custom_rule_scalar_proto2"), + Message: proto.String("a must be greater than 24"), + }, + ), + }, + "proto2/standard_predefined_custom/valid": { + Message: &cases.StandardPredefinedAndCustomRuleProto2{ + A: proto.Int32(26), + }, + Expected: results.Success(true), + }, + "proto2/standard_predefined_custom/standard/invalid": { + Message: &cases.StandardPredefinedAndCustomRuleProto2{ + A: proto.Int32(28), + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("int32.lt"), + Message: proto.String("value must be less than 28"), + }, + ), + }, + "proto2/standard_predefined_custom/predefined/invalid": { + Message: &cases.StandardPredefinedAndCustomRuleProto2{ + A: proto.Int32(27), + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("int32.even.proto2"), + Message: proto.String("int32 value is not even"), + }, + ), + }, + "proto2/standard_predefined_custom/custom/invalid": { + Message: &cases.StandardPredefinedAndCustomRuleProto2{ + A: proto.Int32(24), + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("standard_predefined_and_custom_rule_scalar_proto2"), + Message: proto.String("a must be greater than 24"), + }, + ), + }, + "proto3/float/valid": { + Message: &cases.PredefinedFloatRuleProto3{Val: 1.0}, + Expected: results.Success(true), + }, + "proto3/float/invalid": { + Message: &cases.PredefinedFloatRuleProto3{Val: -2.0}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("float.abs_range.proto2"), + Message: proto.String("float value is out of range"), + }, + ), + }, + "proto3/double/valid": { + Message: &cases.PredefinedDoubleRuleProto3{Val: 1.0}, + Expected: results.Success(true), + }, + "proto3/double/invalid": { + Message: &cases.PredefinedDoubleRuleProto3{Val: -2.0}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("double.abs_range.proto2"), + Message: proto.String("double value is out of range"), + }, + ), + }, + "proto3/int32/valid": { + Message: &cases.PredefinedInt32RuleProto3{Val: 2}, + Expected: results.Success(true), + }, + "proto3/int32/invalid": { + Message: &cases.PredefinedInt32RuleProto3{Val: 3}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("int32.even.proto2"), + Message: proto.String("int32 value is not even"), + }, + ), + }, + "proto3/int64/valid": { + Message: &cases.PredefinedInt64RuleProto3{Val: 2}, + Expected: results.Success(true), + }, + "proto3/int64/invalid": { + Message: &cases.PredefinedInt64RuleProto3{Val: 3}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("int64.even.proto2"), + Message: proto.String("int64 value is not even"), + }, + ), + }, + "proto3/uint32/valid": { + Message: &cases.PredefinedUInt32RuleProto3{Val: 2}, + Expected: results.Success(true), + }, + "proto3/uint32/invalid": { + Message: &cases.PredefinedUInt32RuleProto3{Val: 3}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("uint32.even.proto2"), + Message: proto.String("uint32 value is not even"), + }, + ), + }, + "proto3/uint64/valid": { + Message: &cases.PredefinedUInt64RuleProto3{Val: 2}, + Expected: results.Success(true), + }, + "proto3/uint64/invalid": { + Message: &cases.PredefinedUInt64RuleProto3{Val: 3}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("uint64.even.proto2"), + Message: proto.String("uint64 value is not even"), + }, + ), + }, + "proto3/sint32/valid": { + Message: &cases.PredefinedSInt32RuleProto3{Val: 2}, + Expected: results.Success(true), + }, + "proto3/sint32/invalid": { + Message: &cases.PredefinedSInt32RuleProto3{Val: 3}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sint32.even.proto2"), + Message: proto.String("sint32 value is not even"), + }, + ), + }, + "proto3/sint64/valid": { + Message: &cases.PredefinedSInt64RuleProto3{Val: 2}, + Expected: results.Success(true), + }, + "proto3/sint64/invalid": { + Message: &cases.PredefinedSInt64RuleProto3{Val: 3}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sint64.even.proto2"), + Message: proto.String("sint64 value is not even"), + }, + ), + }, + "proto3/fixed32/valid": { + Message: &cases.PredefinedFixed32RuleProto3{Val: 2}, + Expected: results.Success(true), + }, + "proto3/fixed32/invalid": { + Message: &cases.PredefinedFixed32RuleProto3{Val: 3}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("fixed32.even.proto2"), + Message: proto.String("fixed32 value is not even"), + }, + ), + }, + "proto3/fixed64/valid": { + Message: &cases.PredefinedFixed64RuleProto3{Val: 2}, + Expected: results.Success(true), + }, + "proto3/fixed64/invalid": { + Message: &cases.PredefinedFixed64RuleProto3{Val: 3}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("fixed64.even.proto2"), + Message: proto.String("fixed64 value is not even"), + }, + ), + }, + "proto3/sfixed32/valid": { + Message: &cases.PredefinedSFixed32RuleProto3{Val: 2}, + Expected: results.Success(true), + }, + "proto3/sfixed32/invalid": { + Message: &cases.PredefinedSFixed32RuleProto3{Val: 3}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sfixed32.even.proto2"), + Message: proto.String("sfixed32 value is not even"), + }, + ), + }, + "proto3/sfixed64/valid": { + Message: &cases.PredefinedSFixed64RuleProto3{Val: 2}, + Expected: results.Success(true), + }, + "proto3/sfixed64/invalid": { + Message: &cases.PredefinedSFixed64RuleProto3{Val: 3}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sfixed64.even.proto2"), + Message: proto.String("sfixed64 value is not even"), + }, + ), + }, + "proto3/bool/valid": { + Message: &cases.PredefinedBoolRuleProto3{Val: false}, + Expected: results.Success(true), + }, + "proto3/bool/invalid": { + Message: &cases.PredefinedBoolRuleProto3{Val: true}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("bool.false.proto2"), + Message: proto.String("bool value is not false"), + }, + ), + }, + "proto3/string/valid": { + Message: &cases.PredefinedStringRuleProto3{Val: "valid/file.proto"}, + Expected: results.Success(true), + }, + "proto3/string/invalid": { + Message: &cases.PredefinedStringRuleProto3{Val: "../invalid/path"}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("string.valid_path.proto2"), + Message: proto.String("not a valid path: `../invalid/path`"), + }, + ), + }, + "proto3/bytes/valid": { + Message: &cases.PredefinedBytesRuleProto3{Val: []byte("valid/file.proto")}, + Expected: results.Success(true), + }, + "proto3/bytes/invalid": { + Message: &cases.PredefinedBytesRuleProto3{Val: []byte("../invalid/path")}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("bytes.valid_path.proto2"), + Message: proto.String("not a valid path: `../invalid/path`"), + }, + ), + }, + "proto3/enum/valid": { + Message: &cases.PredefinedEnumRuleProto3{Val: cases.PredefinedEnumRuleProto3_ENUM_PROTO3_ONE}, + Expected: results.Success(true), + }, + "proto3/enum/invalid": { + Message: &cases.PredefinedEnumRuleProto3{Val: cases.PredefinedEnumRuleProto3_ENUM_PROTO3_ZERO_UNSPECIFIED}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("enum.non_zero.proto2"), + Message: proto.String("enum value is not non-zero"), + }, + ), + }, + "proto3/repeated/valid": { + Message: &cases.PredefinedRepeatedRuleProto3{Val: []uint64{1, 2, 3, 4, 5}}, + Expected: results.Success(true), + }, + "proto3/repeated/invalid": { + Message: &cases.PredefinedRepeatedRuleProto3{Val: []uint64{1, 2, 3}}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("repeated.at_least_five.proto2"), + Message: proto.String("repeated field must have at least five values"), + }, + ), + }, + "proto3/map/valid": { + Message: &cases.PredefinedMapRuleProto3{Val: map[uint64]uint64{1: 1, 2: 2, 3: 3, 4: 4, 5: 5}}, + Expected: results.Success(true), + }, + "proto3/map/invalid": { + Message: &cases.PredefinedMapRuleProto3{Val: map[uint64]uint64{1: 1, 2: 2, 3: 3}}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("map.at_least_five.edition_2023"), + Message: proto.String("map must have at least five pairs"), + }, + ), + }, + "proto3/duration/valid": { + Message: &cases.PredefinedDurationRuleProto3{Val: durationpb.New(time.Second)}, + Expected: results.Success(true), + }, + "proto3/duration/invalid": { + Message: &cases.PredefinedDurationRuleProto3{Val: durationpb.New(15 * time.Second)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("duration.too_long.proto2"), + Message: proto.String("duration can't be longer than 10 seconds"), + }, + ), + }, + "proto3/timestamp/valid": { + Message: &cases.PredefinedTimestampRuleProto3{Val: timestamppb.New(time.Unix(1049587200, 0))}, + Expected: results.Success(true), + }, + "proto3/timestamp/invalid": { + Message: &cases.PredefinedTimestampRuleProto3{Val: timestamppb.New(time.Unix(1725415496, 0))}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("timestamp.time_range.proto2"), + Message: proto.String("timestamp out of range"), + }, + ), + }, + "proto3/predefined_and_custom/valid": { + Message: &cases.PredefinedAndCustomRuleProto3{ + A: 26, + B: &cases.PredefinedAndCustomRuleProto3_Nested{ + C: 12, + }, + }, + Expected: results.Success(true), + }, + "proto3/predefined_and_custom/invalid": { + Message: &cases.PredefinedAndCustomRuleProto3{ + A: -1, + B: &cases.PredefinedAndCustomRuleProto3_Nested{ + C: -1, + }, + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("int32.even.edition_2023"), + Message: proto.String("int32 value is not even"), + }, + &validate.Violation{ + FieldPath: proto.String("b.c"), + ConstraintId: proto.String("int32.even.edition_2023"), + Message: proto.String("int32 value is not even"), + }, + &validate.Violation{ + FieldPath: proto.String("b"), + ConstraintId: proto.String("predefined_and_custom_rule_embedded_proto3"), + Message: proto.String("b.c must be a multiple of 3"), + }, + &validate.Violation{ + FieldPath: proto.String("b.c"), + ConstraintId: proto.String("predefined_and_custom_rule_nested_proto3"), + Message: proto.String("c must be positive"), + }, + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("predefined_and_custom_rule_scalar_proto3"), + Message: proto.String("a must be greater than 24"), + }, + ), + }, + "proto3/standard_predefined_custom/valid": { + Message: &cases.StandardPredefinedAndCustomRuleProto3{ + A: 26, + }, + Expected: results.Success(true), + }, + "proto3/standard_predefined_custom/standard/invalid": { + Message: &cases.StandardPredefinedAndCustomRuleProto3{ + A: 28, + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("int32.lt"), + Message: proto.String("value must be less than 28"), + }, + ), + }, + "proto3/standard_predefined_custom/predefined/invalid": { + Message: &cases.StandardPredefinedAndCustomRuleProto3{ + A: 27, + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("int32.even.proto2"), + Message: proto.String("int32 value is not even"), + }, + ), + }, + "proto3/standard_predefined_custom/custom/invalid": { + Message: &cases.StandardPredefinedAndCustomRuleProto3{ + A: 24, + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("standard_predefined_and_custom_rule_scalar_proto3"), + Message: proto.String("a must be greater than 24"), + }, + ), + }, + "proto/2023/float/valid": { + Message: &cases.PredefinedFloatRuleEdition2023{Val: proto.Float32(1.0)}, + Expected: results.Success(true), + }, + "proto/2023/float/invalid": { + Message: &cases.PredefinedFloatRuleEdition2023{Val: proto.Float32(-2.0)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("float.abs_range.edition_2023"), + Message: proto.String("float value is out of range"), + }, + ), + }, + "proto/2023/double/valid": { + Message: &cases.PredefinedDoubleRuleEdition2023{Val: proto.Float64(1.0)}, + Expected: results.Success(true), + }, + "proto/2023/double/invalid": { + Message: &cases.PredefinedDoubleRuleEdition2023{Val: proto.Float64(-2.0)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("double.abs_range.edition_2023"), + Message: proto.String("double value is out of range"), + }, + ), + }, + "proto/2023/int32/valid": { + Message: &cases.PredefinedInt32RuleEdition2023{Val: proto.Int32(2)}, + Expected: results.Success(true), + }, + "proto/2023/int32/invalid": { + Message: &cases.PredefinedInt32RuleEdition2023{Val: proto.Int32(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("int32.even.edition_2023"), + Message: proto.String("int32 value is not even"), + }, + ), + }, + "proto/2023/int64/valid": { + Message: &cases.PredefinedInt64RuleEdition2023{Val: proto.Int64(2)}, + Expected: results.Success(true), + }, + "proto/2023/int64/invalid": { + Message: &cases.PredefinedInt64RuleEdition2023{Val: proto.Int64(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("int64.even.edition_2023"), + Message: proto.String("int64 value is not even"), + }, + ), + }, + "proto/2023/uint32/valid": { + Message: &cases.PredefinedUInt32RuleEdition2023{Val: proto.Uint32(2)}, + Expected: results.Success(true), + }, + "proto/2023/uint32/invalid": { + Message: &cases.PredefinedUInt32RuleEdition2023{Val: proto.Uint32(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("uint32.even.edition_2023"), + Message: proto.String("uint32 value is not even"), + }, + ), + }, + "proto/2023/uint64/valid": { + Message: &cases.PredefinedUInt64RuleEdition2023{Val: proto.Uint64(2)}, + Expected: results.Success(true), + }, + "proto/2023/uint64/invalid": { + Message: &cases.PredefinedUInt64RuleEdition2023{Val: proto.Uint64(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("uint64.even.edition_2023"), + Message: proto.String("uint64 value is not even"), + }, + ), + }, + "proto/2023/sint32/valid": { + Message: &cases.PredefinedSInt32RuleEdition2023{Val: proto.Int32(2)}, + Expected: results.Success(true), + }, + "proto/2023/sint32/invalid": { + Message: &cases.PredefinedSInt32RuleEdition2023{Val: proto.Int32(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sint32.even.edition_2023"), + Message: proto.String("sint32 value is not even"), + }, + ), + }, + "proto/2023/sint64/valid": { + Message: &cases.PredefinedSInt64RuleEdition2023{Val: proto.Int64(2)}, + Expected: results.Success(true), + }, + "proto/2023/sint64/invalid": { + Message: &cases.PredefinedSInt64RuleEdition2023{Val: proto.Int64(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sint64.even.edition_2023"), + Message: proto.String("sint64 value is not even"), + }, + ), + }, + "proto/2023/fixed32/valid": { + Message: &cases.PredefinedFixed32RuleEdition2023{Val: proto.Uint32(2)}, + Expected: results.Success(true), + }, + "proto/2023/fixed32/invalid": { + Message: &cases.PredefinedFixed32RuleEdition2023{Val: proto.Uint32(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("fixed32.even.edition_2023"), + Message: proto.String("fixed32 value is not even"), + }, + ), + }, + "proto/2023/fixed64/valid": { + Message: &cases.PredefinedFixed64RuleEdition2023{Val: proto.Uint64(2)}, + Expected: results.Success(true), + }, + "proto/2023/fixed64/invalid": { + Message: &cases.PredefinedFixed64RuleEdition2023{Val: proto.Uint64(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("fixed64.even.edition_2023"), + Message: proto.String("fixed64 value is not even"), + }, + ), + }, + "proto/2023/sfixed32/valid": { + Message: &cases.PredefinedSFixed32RuleEdition2023{Val: proto.Int32(2)}, + Expected: results.Success(true), + }, + "proto/2023/sfixed32/invalid": { + Message: &cases.PredefinedSFixed32RuleEdition2023{Val: proto.Int32(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sfixed32.even.edition_2023"), + Message: proto.String("sfixed32 value is not even"), + }, + ), + }, + "proto/2023/sfixed64/valid": { + Message: &cases.PredefinedSFixed64RuleEdition2023{Val: proto.Int64(2)}, + Expected: results.Success(true), + }, + "proto/2023/sfixed64/invalid": { + Message: &cases.PredefinedSFixed64RuleEdition2023{Val: proto.Int64(3)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("sfixed64.even.edition_2023"), + Message: proto.String("sfixed64 value is not even"), + }, + ), + }, + "proto/2023/bool/valid": { + Message: &cases.PredefinedBoolRuleEdition2023{Val: proto.Bool(false)}, + Expected: results.Success(true), + }, + "proto/2023/bool/invalid": { + Message: &cases.PredefinedBoolRuleEdition2023{Val: proto.Bool(true)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("bool.false.edition_2023"), + Message: proto.String("bool value is not false"), + }, + ), + }, + "proto/2023/string/valid": { + Message: &cases.PredefinedStringRuleEdition2023{Val: proto.String("valid/file.proto")}, + Expected: results.Success(true), + }, + "proto/2023/string/invalid": { + Message: &cases.PredefinedStringRuleEdition2023{Val: proto.String("../invalid/path")}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("string.valid_path.edition_2023"), + Message: proto.String("not a valid path: `../invalid/path`"), + }, + ), + }, + "proto/2023/bytes/valid": { + Message: &cases.PredefinedBytesRuleEdition2023{Val: []byte("valid/file.proto")}, + Expected: results.Success(true), + }, + "proto/2023/bytes/invalid": { + Message: &cases.PredefinedBytesRuleEdition2023{Val: []byte("../invalid/path")}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("bytes.valid_path.edition_2023"), + Message: proto.String("not a valid path: `../invalid/path`"), + }, + ), + }, + "proto/2023/enum/valid": { + Message: &cases.PredefinedEnumRuleEdition2023{Val: cases.PredefinedEnumRuleEdition2023_ENUM_EDITION2023_ONE.Enum()}, + Expected: results.Success(true), + }, + "proto/2023/enum/invalid": { + Message: &cases.PredefinedEnumRuleEdition2023{Val: cases.PredefinedEnumRuleEdition2023_ENUM_EDITION2023_ZERO_UNSPECIFIED.Enum()}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("enum.non_zero.edition_2023"), + Message: proto.String("enum value is not non-zero"), + }, + ), + }, + "proto/2023/repeated/valid": { + Message: &cases.PredefinedRepeatedRuleEdition2023{Val: []uint64{1, 2, 3, 4, 5}}, + Expected: results.Success(true), + }, + "proto/2023/repeated/invalid": { + Message: &cases.PredefinedRepeatedRuleEdition2023{Val: []uint64{1, 2, 3}}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("repeated.at_least_five.edition_2023"), + Message: proto.String("repeated field must have at least five values"), + }, + ), + }, + "proto/2023/map/valid": { + Message: &cases.PredefinedMapRuleEdition2023{Val: map[uint64]uint64{1: 1, 2: 2, 3: 3, 4: 4, 5: 5}}, + Expected: results.Success(true), + }, + "proto/2023/map/invalid": { + Message: &cases.PredefinedMapRuleEdition2023{Val: map[uint64]uint64{1: 1, 2: 2, 3: 3}}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("map.at_least_five.edition_2023"), + Message: proto.String("map must have at least five pairs"), + }, + ), + }, + "proto/2023/duration/valid": { + Message: &cases.PredefinedDurationRuleEdition2023{Val: durationpb.New(time.Second)}, + Expected: results.Success(true), + }, + "proto/2023/duration/invalid": { + Message: &cases.PredefinedDurationRuleEdition2023{Val: durationpb.New(15 * time.Second)}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("duration.too_long.edition_2023"), + Message: proto.String("duration can't be longer than 10 seconds"), + }, + ), + }, + "proto/2023/timestamp/valid": { + Message: &cases.PredefinedTimestampRuleEdition2023{Val: timestamppb.New(time.Unix(1049587200, 0))}, + Expected: results.Success(true), + }, + "proto/2023/timestamp/invalid": { + Message: &cases.PredefinedTimestampRuleEdition2023{Val: timestamppb.New(time.Unix(1725415496, 0))}, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("val"), + ConstraintId: proto.String("timestamp.time_range.edition_2023"), + Message: proto.String("timestamp out of range"), + }, + ), + }, + "proto/2023/predefined_and_custom/valid": { + Message: &cases.PredefinedAndCustomRuleEdition2023{ + A: proto.Int32(26), + B: &cases.PredefinedAndCustomRuleEdition2023_Nested{ + C: proto.Int32(12), + }, + }, + Expected: results.Success(true), + }, + "proto/2023/predefined_and_custom/invalid": { + Message: &cases.PredefinedAndCustomRuleEdition2023{ + A: proto.Int32(-1), + B: &cases.PredefinedAndCustomRuleEdition2023_Nested{ + C: proto.Int32(-1), + }, + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("int32.even.edition_2023"), + Message: proto.String("int32 value is not even"), + }, + &validate.Violation{ + FieldPath: proto.String("b.c"), + ConstraintId: proto.String("int32.even.edition_2023"), + Message: proto.String("int32 value is not even"), + }, + &validate.Violation{ + FieldPath: proto.String("b"), + ConstraintId: proto.String("predefined_and_custom_rule_embedded_edition_2023"), + Message: proto.String("b.c must be a multiple of 3"), + }, + &validate.Violation{ + FieldPath: proto.String("b.c"), + ConstraintId: proto.String("predefined_and_custom_rule_nested_edition_2023"), + Message: proto.String("c must be positive"), + }, + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("predefined_and_custom_rule_scalar_edition_2023"), + Message: proto.String("a must be greater than 24"), + }, + ), + }, + "proto/2023/standard_predefined_custom/valid": { + Message: &cases.StandardPredefinedAndCustomRuleEdition2023{ + A: proto.Int32(26), + }, + Expected: results.Success(true), + }, + "proto/2023/standard_predefined_custom/standard/invalid": { + Message: &cases.StandardPredefinedAndCustomRuleEdition2023{ + A: proto.Int32(28), + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("int32.lt"), + Message: proto.String("value must be less than 28"), + }, + ), + }, + "proto/2023/standard_predefined_custom/predefined/invalid": { + Message: &cases.StandardPredefinedAndCustomRuleEdition2023{ + A: proto.Int32(27), + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("int32.even.edition_2023"), + Message: proto.String("int32 value is not even"), + }, + ), + }, + "proto/2023/standard_predefined_custom/custom/invalid": { + Message: &cases.StandardPredefinedAndCustomRuleEdition2023{ + A: proto.Int32(24), + }, + Expected: results.Violations( + &validate.Violation{ + FieldPath: proto.String("a"), + ConstraintId: proto.String("standard_predefined_and_custom_rule_scalar_edition_2023"), + Message: proto.String("a must be greater than 24"), + }, + ), + }, + } +} diff --git a/tools/protovalidate-conformance/internal/suites/benchmark.go b/tools/protovalidate-conformance/internal/suites/benchmark.go index a81a91e6..2bbc26b6 100644 --- a/tools/protovalidate-conformance/internal/suites/benchmark.go +++ b/tools/protovalidate-conformance/internal/suites/benchmark.go @@ -43,7 +43,7 @@ func (b *Benchmark) Range(filter *regexp.Regexp, exec func(suiteName string, sui if filter != nil && !filter.MatchString(suiteName) { continue } - for i := 0; i < b.n; i++ { + for i := range b.n { b.resetTimer() b.startTimer() if err := exec(suiteName, suite); err != nil { diff --git a/tools/protovalidate-conformance/internal/suites/suite.go b/tools/protovalidate-conformance/internal/suites/suite.go index 8bcba3cf..486c8e59 100644 --- a/tools/protovalidate-conformance/internal/suites/suite.go +++ b/tools/protovalidate-conformance/internal/suites/suite.go @@ -104,7 +104,7 @@ func (s Suite) ProcessResults( Got: actual.ToProto(), Input: anyInput, ExpectedFailure: isSkipped(caseName, skippedCases), - }, options.Verbose) + }, options.GetVerbose()) return nil }) From 4fab0b5a24296ac9be40d98d51d7da14f3c39990 Mon Sep 17 00:00:00 2001 From: Chris Roche Date: Fri, 20 Sep 2024 10:00:11 -0700 Subject: [PATCH 2/3] checkpoint --- .../buf/validate/conformance/cases/wkt_duration.proto | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_duration.proto b/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_duration.proto index 836283de..85cb9dcc 100644 --- a/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_duration.proto +++ b/proto/protovalidate-testing/buf/validate/conformance/cases/wkt_duration.proto @@ -41,8 +41,7 @@ message DurationIn { message DurationNotIn { google.protobuf.Duration val = 1 [(buf.validate.field).duration = { not_in: [ -{} - ] + {}] }]; } From fcbf790dc906165a15694b47a0af6a0d965e9145 Mon Sep 17 00:00:00 2001 From: Chris Roche Date: Fri, 20 Sep 2024 10:03:58 -0700 Subject: [PATCH 3/3] checkpoint --- proto/protovalidate-testing/buf.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/proto/protovalidate-testing/buf.lock b/proto/protovalidate-testing/buf.lock index a8680c72..1b0577f3 100644 --- a/proto/protovalidate-testing/buf.lock +++ b/proto/protovalidate-testing/buf.lock @@ -4,5 +4,5 @@ deps: - remote: buf.build owner: bufbuild repository: protovalidate - commit: b983156c5e994cc9892e0ce3e64e17e0 - digest: shake256:fb47a62989d38c2529bcc5cd86ded43d800eb84cee82b42b9e8a9e815d4ee8134a0fb9d0ce8299b27c2d2bbb7d6ade0c4ad5a8a4d467e1e2c7ca619ae9f634e2 + commit: 5a7b106cbb87462d9a8c9ffecdbd2e38 + digest: shake256:2f7efa5a904668219f039d4f6eeb51e871f8f7f5966055a10663cba335bd65f76cac84da3fa758ab7b5dcb489ec599521390ce3951d119fb56df1fc2def16bb0